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 ...
随机推荐
- Visual Studio 2010配置OpenGL-1.8
参考博客 : 安装参考 1. http://blog.csdn.net/mooncircle/article/details/5545448 2. http://www.cnblogs.com/moo ...
- 云计算相关的一些概念Baas、Saas、Iaas、Paas
BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务. SaaS(软件即服务:Software as a Service)提供了完整的可直接使用 ...
- TSPL学习笔记(3):排序算法练习
快速排序 快排的详细介绍见,简单的说就是取输入序列中的首元素m,然后将除首元素m以外的其它元素分成两组,小于等于m的一组和大于m的一组.将3组元素组合成输入队列:小于等于m + m + 大于m. 下面 ...
- EvreryDay Collect
1.在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService? 在System.Net中提供了一个NetworkCredential,只有获得该凭证的用户才能访问相 ...
- node-sass 安装卡在 node scripts/install.js 解决办法
转自:https://segmentfault.com/a/1190000005921721 ======== 7月12日更新 ======== 总的来说就是两种方法解决: SASS_BINARY_S ...
- visual studio snippets风格
snippet挺好用,但是不是我喜欢的那种风格,比如if是这样的 if () { XX } 而我比较习惯这种: if () { XX } 可以这么做: 工具(Tools)——代码段管理器(Code S ...
- Oracle Purchasing QUESTIONS AND ANSWERS
Topic Summary Topic: CORRECTIONS: Corrections Topic: DELIVER: Receiving Delivery Topic: DROPSHIP: Dr ...
- wow 各职业体验(pvp)
玩过职业 近战 武器战,冰DK,惩戒骑,增强萨,踏风 法系远程 鸟德,痛苦术,火法,奥法 治疗 奶德,奶骑,奶萨 三板甲职业就冰DK 最轻松,增强萨操作最频繁 机动性最好就武器战,踏风最差的,踏风群攻 ...
- coreseek 提示 client version is higher than daemon version 解决办法
安装好coreseek,开启了服务之后,通过 sphinx php扩展去请求数据,提示:client version is higher than daemon version (client is ...
- ireport 导出工具类
Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,html 格式 下面是报表导出工具类 Ireport 报表导出 Poi + ireport 导出pdf, ...