向数据表中添加列并将其绑定到网格中

本文关键字:绑定 网格 数据表 添加 | 更新日期: 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]