我有一个gridcontrol,位于unitPrice
,TotalPrice
和Quantity
列。当我使用此代码计算unitPrice
时,它会计算UnitPrice = 0
中的第一行和另一行请帮助吗?
private void Chillers_Load(object sender, EventArgs e)
{
this.ornekTblTableAdapter.Fill(this.chillersDataSet.OrnekTbl);
InitMDBData();
var row = gridView1.GetFocusedDataRow();
var totalprice = Convert.ToDecimal(row["TotalPrice"]);
var quantity = Convert.ToDecimal(row["Quantity"]);
row["UnitPrice"] = totalprice / quantity;
}
答案 0 :(得分:1)
你需要一个简单的foreach循环
foreach(var row in gridView1.Rows)
{
var totalprice = Convert.ToDecimal(row["TotalPrice"]);
var quantity = Convert.ToDecimal(row["Quantity"]);
row["UnitPrice"] = totalprice / quantity;
}
更新:对于你的特殊dataGridView试试这个:
for(int i=0; i< gridView1.RowCount; i++)
{
var totalprice = Convert.ToDecimal(gridView.GetRowCellValue(i, "TotalPrice"));
var quantity = Convert.ToDecimal(gridView.GetRowCellValue(i, "Quantity"));
gridView1.SetRowCellValue(i,"UnitPrice",(totalprice / quantity));
}
答案 1 :(得分:0)
您只需更改一行gridView1.GetFocusedDataRow()。
您需要将计算值添加到原始数据源,或者将数据绑定表达式放在gridview标记中,即
<asp:templatecolumn><%# Eval(((decimal)Container.DataItem["TotalPrice"]) / ((decimal)Container.DataItem["TotalPrice"]) %></asp:templatecolumn>