zoukankan      html  css  js  c++  java
  • csharp: DataTable Rename ColumnName and remove Column

      enum ChangeNume
            {
                /// <summary>
                /// 简体
                /// </summary>
                gbk=1,
                /// <summary>
                /// 英文
                /// </summary>
                en=2,
                /// <summary>
                /// 繁体
                /// </summary>
                big=3,
                ko=4,
                jp=5,
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <returns></returns>
            DataTable setData()
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("id", typeof(int));
                dt.Columns.Add("name", typeof(string));
                dt.Columns.Add("patner", typeof(int));
                dt.Columns.Add("time", typeof(DateTime));
                dt.Rows.Add(1, "dgeo", 0, "2015-01-02");
                dt.Rows.Add(2, "geovindu", 1, "2015-03-03");
                dt.Rows.Add(3, "gess", 1, "2015-03-23");
                dt.Rows.Add(4, "dfadfd", 2, "2015-04-03");
                return dt;
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="dv"></param>
            /// <param name="lname"></param>
            private DataTable setGridViewName(DataTable dv, ChangeNume lname)
            {
                DataTable dt = dv;
                switch (lname)
                {
                    case ChangeNume.gbk:
                        dt.Columns[0].ColumnName = "序号";
                        dt.Columns[1].ColumnName = "名称";
                        dt.Columns[2].ColumnName = "父节点";
                        dt.Columns[3].ColumnName = "日期";
                        break;
                    case ChangeNume.big:
                        dt.Columns[0].ColumnName = "序號";
                        dt.Columns[1].ColumnName = "名稱";
                        dt.Columns[2].ColumnName = "父節點";
                        dt.Columns[3].ColumnName = "日期";
                        break;
                    case ChangeNume.en:
                        dt.Columns[0].ColumnName = "id";
                        dt.Columns[1].ColumnName = "name";
                        dt.Columns[2].ColumnName = "patner";
                        dt.Columns[3].ColumnName = "time";
                        break;
                    default:
                        dt.Columns[0].ColumnName = "序号";
                        dt.Columns[1].ColumnName = "名称";
                        dt.Columns[2].ColumnName = "父节点";
                        dt.Columns[3].ColumnName = "日期";
                        break;
                }
                return dt;
            }
    
            /// <summary>
            /// 
            /// </summary>
            public Form2()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void Form2_Load(object sender, EventArgs e)
            {
                this.dataGridView1.DataSource = setGridViewName(setData(), ChangeNume.en);
    
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                this.dataGridView2.DataSource = setGridViewName(setData(), ChangeNume.big);
            }
    

      

       /// <summary>
            /// DataTable列名移除 
             /// </summary>
             /// <param name="dcName"></param>
             /// <param name="datatable"></param>
             private void DataTableRemoveColumn(string dcName,DataTable datatable)
             {
                // List<string> clmnames = new List<string>(new string[] { "clm6", "clm7", "clm20" });
                   DataColumnCollection dcCollection = datatable.Columns;
                   if (dcCollection.Contains(dcName))
                   {
                       dcCollection.Remove(dcName);
                   }
             }
            /// <summary>
             /// DataTable列索引移除
            /// </summary>
            /// <param name="index"></param>
            /// <param name="datatable"></param>
            private void DataTableRemoveIndex(List<int> index, DataTable datatable)
            {
                //List<int> index = new List<int>(new int[] { 2, 3, 5 });
                List<string> primes = new List<string>();
                foreach (int i in index)
                {
                    primes.Add(datatable.Columns[i].ColumnName);
                }
    
                foreach (string iname in primes)
                {
                    DataTableRemoveColumn(iname, datatable);
                }
    
            }
    

      测试:

                DataTable dt = setData();
                DataTable ds=new DataTable();
                //店铺代码	店铺名称	姓名	身份证号	职位	基本出勤时数	计薪时数	迟到早退
                //1
                List<int> primes = new List<int>(new int[] {0, 2, 3});
                DataTableRemoveIndex(primes, dt);
    
                //2.
                //List<string> clmnames = new List<string>(new string[] { "店铺代码", "基本出勤时数", "职位" });
                //foreach (string i in clmnames)
                //{
                //  DataTableRemoveColumn(i, dt);
                //}
                this.dataGridView1.DataSource = dt;
    

      

  • 相关阅读:
    bfs两种记录路径方法
    次小生成树
    2018 ICPC 区域赛 焦作场 D. Keiichi Tsuchiya the Drift King(计算几何)
    数组分组
    POJ
    数位DP详解
    2018ICPC青岛 E
    HDU
    Google工程师打造Remix OS系统 桌面版安卓下载
    使用angular封装echarts
  • 原文地址:https://www.cnblogs.com/geovindu/p/4627191.html
Copyright © 2011-2022 走看看