列之间的数据网格操作
本文关键字:网格 操作 数据网 数据 之间 | 更新日期: 2023-09-27 18:04:14
这是我得到的数据网格
+==========+==========+==========+==========+
| Product | Price | quantity | Total |
+==========+==========+==========+==========+
,所以我得到了产品和价格从MySQL数据库(表1)。用户在quantity单元格中输入number,程序计算Total (Total=Price*quantity),并将其保存在表2中(在MySQL中)。
这是一个例子
+==========+==========+==========+==========+
| Product | Price | quantity | Total |
+==========+==========+==========+==========+
| AAAAA | 30 | 2 | 60 |
+==========+==========+==========+==========+
我像这样添加CellEditEndding处理程序
private void Produit_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
DataTable dt = new DataTable();
dt = ((DataView)Produit.ItemsSource).ToTable();
foreach (DataRow row in dt.Rows)
{
row["total"] = (Convert.ToDouble(row["price"]) * Convert.ToDouble(row["quantity"]));
}
Produit.ItemsSource = dt.DefaultView;
}
当我编辑一个数量单元格时,所有的东西都返回0。
注意:当我填充DataGrid I填充数量和总数与zoros
我理解你的问题,你想要求用户只输入产品代码和数量,然后价格和总价自动添加到data grid view
。为此,您需要在data grid column
中使用TemplateField
来添加Label field
,如下所示
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblprice" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblTotalPrice" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
然后访问标签到服务器端
Label lblprice= (Label)row.FindControl("lblprice");
Label lblTotalPrice= (Label)row.FindControl("lblTotalPrice");
现在给这些标签赋值