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 ...
随机推荐
- 通信错误:(-1)[描述:无法解析路由器DDNS地址,请检查DDNS状态.] 解析办法
EasyRadius提示:通信错误:(-1)[描述:无法解析路由器DDNS地址,请检查DDNS状态.] 出现以上问题,和easyradius没有直接的联系,主要产生原因有两种可能: 可能1:easyr ...
- c# -- 对象销毁和垃圾回收
有些对象需要显示地销毁代码来释放资源,比如打开的文件资源,锁,操作系统句柄和非托管对象.在.NET中,这就是所谓的对象销毁,它通过IDisposal接口来实现.不再使用的对象所占用的内存管理,必须在某 ...
- Node.js之绝对选择
几年前,完全放弃Asp.net,彻底脱离微软方向.Web开发,在公司团队中,一概使用Node.js.Mongodb.Git,替换Asp.net mvc.Sql server和Tfs.当时来看,这是高风 ...
- post 的body json要使用双引号,而不是单引号
string parse error , JS eval error {'name' : 'wade' } http://json.parser.online.fr/ string parse ...
- c#操作word表格
http://www.webshu.net/jiaocheng/programme/ASPNET/200804/6499.html <% if request("infoid" ...
- Linux设备驱动剖析之Input(四)
static void input_pass_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) ...
- python string.py 源码分析 三:maketrans
l = map(chr, xrange(256)) #将ascii转为字符串 _idmap = str('').join(l) del l # Construct a translation stri ...
- Dennis与Ken爷爷的UNIX/C世界
沉寂了很久了,时间在不断地逝去,转眼又到了新的一年,2013的发生了太多,Beta版本.辞职.职位转换.ARM.Driver.初级厨艺.Dx11.GPU.CPU.登山.GNU/Linux.Cross ...
- WEB安全入门(转)
一. 首先你得了解Web Web分为好几层,一图胜千言:事实是这样的:如果你不了解这些研究对象是不可能搞好安全研究的.这样看来,Web有八层(如果把浏览器也算进去,就九层啦,九阳神功……)!!!每层都 ...
- Qt Error: dependent '..\***' does not exist.
大概意思:所依赖的资源不存在. 实际上是工程找不到所依赖的资源. 本人的解决方案(可能拙劣,也不一定是正道):将资源拷贝到工程目录下.