我的datagridview中绑定了一个datatable,数据是这样的,
DataTable GetDT()
{
DataTable mydt = new DataTable();
//第一列自增列
DataColumn zzl = mydt.Columns.Add("自增列", typeof(Int32));
zzl.AutoIncrement = true;
zzl.Unique = true;
zzl.AutoIncrementSeed = 1;
zzl.AutoIncrementStep = 10;
//第二列ID
DataColumn dc0 = mydt.Columns.Add("ID", typeof(Int32));
//第三列数据
DataColumn dc1 = new DataColumn();
mydt.Columns.Add(dc1);
for (int i = 0; i < 5; i++)
{
DataRow newRow = mydt.NewRow();
newRow[1] = "0";
newRow[2] = i;
//在最后面插入数据
mydt.Rows.Add(newRow);
}
return mydt;
}
现在我想增加一列,这一列的数据是自增列值+Column1的值,如下:
只需要加一个计算列就可以了:
//第四列计算列
mydt.Columns.Add("计算列", typeof(Double), "自增列 + Column1");
然而结果是这样的:
显示是把它们当成字符串相加了,将代码改成下面的形式就可以了:
//第四列计算列
mydt.Columns.Add("计算列", typeof(Double), "convert(自增列,'System.Int32') + convert(Column1,'System.Int32')");
//就是用 convert(自增列,'System.Int32') 转换一下