csharp: DataTable Rename ColumnName and remove Column

简介: enum ChangeNume { /// <summary> /// 简体 /// </summary> gbk=1, /// <summary> /// 英文 /// </summary>
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);
         }
 
     }


目录
相关文章
|
2月前
|
自然语言处理 安全 搜索推荐
ERP系统上手指南:首页导航+常见操作详解!
本文是ERP系统入门教程首篇,针对新手解决“如何上手”问题。涵盖登录、界面导航、基础操作、权限管理及常见问题,以简道云为例,手把手教你从0开始使用ERP,打通企业数字化第一关。
|
C# 数据安全/隐私保护
C#使用 MailKit 收发邮件
【10月更文挑战第15天】在C#中使用MailKit库可轻松实现邮件的发送与接收。首先需通过NuGet包管理器安装MailKit,并编写代码设置发件人、收件人、邮件主题及正文,连接邮件服务器并认证后即可发送邮件。接收邮件时,同样需连接服务器并认证,然后打开收件箱遍历读取邮件信息。整个过程需根据实际邮件服务器配置相应参数。
666 4
|
网络协议
技术笔记:modbus通讯协议详解
技术笔记:modbus通讯协议详解
727 0
|
索引 Python Windows
下载完PyQt5,发现找不到designer.exe问题解决方案
这篇文章提供了几种解决在安装PyQt5后找不到`designer.exe`的检索方法,包括在PyCharm中搜索、使用Windows搜索栏以及利用Everything软件进行查找。
|
安全 Apache 数据库
如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问
如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问
257 0
|
关系型数据库 MySQL 数据库
两种数据库MySQL 与 PostgresSQL 的 全面比较
两种数据库MySQL 与 PostgresSQL 的 全面比较
2045 0
|
数据采集 数据挖掘 索引
Pandas中read_excel函数参数使用详解+实例代码
Pandas中read_excel函数参数使用详解+实例代码
1125 0
Pandas中read_excel函数参数使用详解+实例代码
|
C++ Windows
Qt 使用irrlicht(鬼火)3D引擎
项目中需要加载简单的3D场景。资深老前辈推荐使用开源小巧的引擎irrlicht。 关于irrlicht,来之百度百科
516 0
Qt 使用irrlicht(鬼火)3D引擎
|
JSON 数据格式
微信内置浏览器调用微信 OAuth 授权获取用户基本信息
首先,我建议各位打印一份微信官方的「网页授权获取用户基本信息」文档,但是不要阅读它。烧掉它,这有重要的象征意义。
905 0
微信内置浏览器调用微信 OAuth 授权获取用户基本信息

热门文章

最新文章