向数据表中添加列并将其绑定到网格中
本文关键字:绑定 网格 数据表 添加 | 更新日期: 2023-09-27 18:18:42
我有一个gridview属性autogeneratecolumn=true
和我的数据表填充数据如下所述使用mdx查询。
sales2015 sales2014
1256 1235
3569 0
0 1235
我想添加另一列名为"VARIENT",并需要在相同的显示百分比。
公式:(sales2015 - sales2014)/sales2015 * 100
需要使用相同的公式计算数据表的每一行,并绑定到gridview
请帮我分析一下逻辑。
注意:我的网格有自动生成的列
预期结果如下
sales2015 sales2014 Varient
1256 1235 **%
3569 0 **%
0 1235 **%
我的代码部分是:
System.Data.DataTable dt = new System.Data.DataTable();
ViewData1 vData = new ViewData1();
dt = vData .__getCustomerSource()// Here in this function i was filling the datatable and returing
DataGrid1.DataSource = null;
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
您可以动态创建第三列,并像这样填充它:-
dt = vData .__getCustomerSource()
dt.Columns.Add("Varient", typeof(string));
foreach (DataRow row in dt.Rows)
{
row["Varient"] = String.Format("{0} %", ((row.Field<int>("sales2015") -
row.Field<int>("sales2014")) / row.Field<int>("sales2015")) * 100);
}
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
你需要相应地改变你的公式。
更新:
如果你的列名会改变,那么你可以使用列索引(但你知道,如果你的数据表结构动态改变,它可能会失败),像这样:-
(int)row.[1] - (int)row[2]