我正在使用POS winforms应用程序,我遇到了麻烦,数据网格视图由用户输入,条形码扫描器填充,然后用户调整数据网格视图中的数量,我想要做的是当用户更改Quantity的值(默认设置为1)时,它会乘以第二列,这是价格并在第三列显示结果
A列(输入的值)x B列= C列的结果
我尝试过使用此代码,但没有运气
private void dataGridView1_CellValidated(object sender, DataGridViewCellEventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
int a =dataGridView1.Rows[i][0].value;
int b =dataGridView1.Rows[i][1].value;
int c = a*b;
c=dataGridView1.Rows[i][2].value;
}
它给了我错误14无法将带有[]的索引应用于类型为&#39; System.Windows.Forms.DataGridViewRow&#39;的表达式。
答案 0 :(得分:1)
您需要使用Cells
类
DataGridViewRow
属性
使用:
int a = dataGridView1.Rows[i].Cells[0].Value;
int b = dataGridView1.Rows[i].Cells[1].Value;
int c = a * b;
dataGridView1.Rows[i].Cells[2].Value = c;
请注意,我将最后一行更改为dataGridView1.Rows[i].Cells[2].Value = c;
,因为这似乎与您的问题相符...您希望答案存储在单元格中。
答案 1 :(得分:-1)
decimal s = Convert.ToDecimal(dataGridView_DaginaAdd_SellInovice.CurrentRow.Cells[10].Value);
decimal s1 = Convert.ToDecimal(dataGridView_DaginaAdd_SellInovice.CurrentRow.Cells[11].Value);
decimal s13 = s + s1; Convert.ToDecimal(dataGridView_DaginaAdd_SellInovice.CurrentRow.Cells[12].Value = s13);