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;