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;
csharp: DataTable Rename ColumnName and remove Column的更多相关文章
- csharp: datatable get Column datatype or Column Name
/// <summary> ///列表名 /// </summary> /// <param name="table"></param&g ...
- csharp: DataTable export to excel,word,csv etc
http://code.msdn.microsoft.com/office/Export-GridView-to-07c9f836 https://exporter.codeplex.com/ htt ...
- csharp: DataTable结构相同的比较
) ) * pageSize; ; i++) { DataRow newdr = newdt.NewRow(); DataRow dr = dt.Rows[i]; foreach (Dat ...
- C# DataTable删除行Delete与Remove的问题
DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...
- DataTable删除行Delete与Remove的问题
DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...
- Datatable删除行的Delete和Remove方法
在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: 1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(ind ...
- DataSet、DataTable、Json、List 等各种数据的相互转化
1.根据Dataset生成json格式的字符串,不管Dataset里面有多少个表都可以一一生成对应的json字符串,并一次性返回 private string dsToJson(DataSet d ...
- MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...
- DataTable一些操作
DataTable ReturnDt = new DataTable("Tab_Result"); ReturnDt.Columns.AddRange(new DataColumn ...
随机推荐
- 移植UE4的Spline与SplineMesh组件到Unity5
一个月前,想开始看下UE4的源码,刚开始以为有Ogre1.9与Ogre2.1源码的基础 ,应该还容易理解,把源码下起后,发现我还是想的太简单了,UE4的代码量对比Ogre应该多了一个量级,毕竟Ogre ...
- Carthage 安装和使用
和Cocoapods相比各有利弊吧,具体对比参见: Carthage 初探:四大优势与四大劣势 第一步:如果没有安装Homebrew先安装 打开命令终端,直接输入以下命令回车 /usr/bin/rub ...
- (笔记)Linux内核学习(十)之虚拟文件系统概念
虚拟文件系统 虚拟文件系统:内核子系统VFS,VFS是内核中文件系统的抽象层,为用户空间提供文件系统相关接口: 通过虚拟文件系统,程序可以利用标准Linux文件系统调用在不同的文件系统中进行交互和操作 ...
- Second Day learning English
Today I have set my Microsoft word program, use it send documents to the blog site.
- asp.net中使用ueditor
原文地址:http://blog.uoolo.com/Article/16 还有在MVC中使用ueditor:http://blog.uoolo.com/Article/111 最初百度了一下“编辑器 ...
- Java NIO原理分析
Java IO 在Client/Server模型中,Server往往需要同时处理大量来自Client的访问请求,因此Server端需采用支持高并发访问的架构.一种简单而又直接的解决方案是“one-th ...
- CSS基础汇总
1. css的出现是为了是内容和表现分离.分为三种: 内联:不推荐 嵌入:没有利用浏览器缓存机制. 外联: 2. css优先级:①id优先级高于class②后面的样式覆盖前面的③指定的高于继承④行内样 ...
- CSS 块状元素和内联元素
在用CSS布局页面的时候,我们会将HTML标签分成两种,块状元素和内联元素(我们平常用到的div和p就是块状元素,链接标签a就是内联元素) 块状元素一般是其他元素的容器,可容纳内联元素和其他块状元素, ...
- 正则表达式之IP地址检验
String ipRegex = "^(\\d|[1-9]\\d|1\\d*|2[0-4]\\d|25[0-5])(\\.\\1){3}$"; /* * \\d|[1-9]\\d| ...
- VS2010打包,遇到的一些问题和解决办法
我用的VS2010,教程很多,我就不一一介绍了,我把我自己遇到的一些问题向大家说一下: 1 可能我比较笨吧,没有理解网上很多教程的意思,直接把图片的后缀名改了,导致添加快捷方式图标的时候出现这种情况 ...