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;

  

csharp: DataTable Rename ColumnName and remove Column的更多相关文章

  1. csharp: datatable get Column datatype or Column Name

    /// <summary> ///列表名 /// </summary> /// <param name="table"></param&g ...

  2. csharp: DataTable export to excel,word,csv etc

    http://code.msdn.microsoft.com/office/Export-GridView-to-07c9f836 https://exporter.codeplex.com/ htt ...

  3. csharp: DataTable结构相同的比较

    )
 ) * pageSize;
 ; i++)
 {
 DataRow newdr = newdt.NewRow();
 DataRow dr = dt.Rows[i];
 foreach (Dat ...

  4. C# DataTable删除行Delete与Remove的问题

    DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...

  5. DataTable删除行Delete与Remove的问题

    DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...

  6. Datatable删除行的Delete和Remove方法

    在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: 1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(ind ...

  7. DataSet、DataTable、Json、List 等各种数据的相互转化

      1.根据Dataset生成json格式的字符串,不管Dataset里面有多少个表都可以一一生成对应的json字符串,并一次性返回 private string dsToJson(DataSet d ...

  8. MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

    MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...

  9. DataTable一些操作

    DataTable ReturnDt = new DataTable("Tab_Result"); ReturnDt.Columns.AddRange(new DataColumn ...

随机推荐

  1. MySQL解决插入emoji表情失败的问题

    普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战.避免 emoji 表情符号带来的问题.涉及无线 ...

  2. config中自定义配置

    1. 定义自己的KeyValue <section name="TestKeyValue" type="System.Configuration.NameValue ...

  3. Java 10大精华文章收集001

    Java语言与JVM中的Lambda表达式全解 Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍 ...

  4. ux.form.field.TreePicker 扩展,修复火狐不能展开bug

    /** * A Picker field that contains a tree panel on its popup, enabling selection of tree nodes. * 动态 ...

  5. java之final关键字

    final关键字(可以读不可以写.只读) 1.final的变量的值不能够被改变 ①.final的成员变量 ②.final的局部变量(形参) //意思是“实参”一旦传进我的方法里面,就不允许改变 2.f ...

  6. JAVA多线程编程之生产者消费者模式

    Java中有一个BlockingQueue可以用来充当堵塞队列,下面是一个桌面搜索的设计 package net.jcip.examples; import java.io.File; import ...

  7. [转]MySQL与MongoDB的操作对比

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...

  8. Windows 10 Weather App无法正常显示解决方法

    Weather动态磁贴显示Washington(不知是否和我的region设置有关系),打开应用却停留在输入需要搜索的天气.根据提示输入"Shanghai, China"并单击搜索 ...

  9. JS获取跨域的cookie实例

    如果说JS能实现跨域cookie,你可能觉得不太可能实现,不过事实上,这个还是可以搞定的,不过需要一定的条件才行的哦!具体方案如下: 一共需要3个文件,第一个文件为需要获取cookie的页面,在这个页 ...

  10. 2014 网选 5007 Post Robot(暴力或者AC_自动机(有点小题大作了))

    //暴力,从每一行的开始处开始寻找要查询的字符 #include<iostream> #include<cstdio> #include<cstring> #inc ...