我在 ASP 中有一个 GridView,用于在购物车中显示产品。
我将 GridView 的源设置为 ShopDataSet,并自动填充列名称、价格和数量。
我想要实现的是我添加的一个新列,它显示每一行的成本,即Cost = price * quantity;
如何在不对数据库执行新查询的情况下以编程方式执行此操作?
我不得不说,在价格和数量上,我设置了价格和数量等"${0}"
格式"{0} piece(s)"
。
在 SqlDataReader 中获取结果并使用 SqlDataReader 的结果填充 DataTable。
现在创建一个新的 DataTable,其中的列与您想要的输出相匹配,包括您的案例中的成本。现在遍历第一个 DataTable 的每一行,并使用成本计算将行添加到新 DataTable。
例如,
DataTable oldTable = new DataTable();
oldTable .Load(rdr); // where rdr is your SqlDataReader
DataTable newTable = new DataTable();
DataColumn noteID = new DataColumn("Cost", typeof(string));
newTable.Columns.Add(noteID);
//Add other columns
foreach (DataRow row in oldTable .Rows)
{
DataRow newRow = newTable.NewRow();
newRow["Cost"] = //your calculation
...
...
newTable.Add(newRow);
}