C# Datagridview基于另一个单元格值更新单元格值

C# Datagridview基于另一个单元格值更新单元格值,c#,datagridview,calculated-columns,C#,Datagridview,Calculated Columns,如果我有4列的DataGrid,如您所见 Col1  Col2  Col3  Col4 5000   -     -    3250 3250   -     -    2300 2300   -     -    result Col1有一个值,Col2和Col3根据该值生成公式Col4打印结果。 我想将结果设置为Col1上的下一个单元格,然后Col2,3应用公式,依此类推 我尝试了下一个代码片段,但它应用于列中的所有单元格 for (int i = 1; i <

如果我有4列的DataGrid,如您所见

Col1  Col2  Col3  Col4    
5000   -     -    3250    
3250   -     -    2300    
2300   -     -    result
Col1有一个值,Col2和Col3根据该值生成公式Col4打印结果。 我想将结果设置为Col1上的下一个单元格,然后Col2,3应用公式,依此类推

我尝试了下一个代码片段,但它应用于列中的所有单元格

for (int i = 1; i < dgv.Rows.Count; i++)
{
   dgv.Rows[i].Cells[1].Value = result;
}
for(int i=1;i
要理解你在找什么有点困难。似乎要将前一行中第3列的结果输入下一行。可以这样做:

DataGridViewRow dr;
dr = dgv.Rows(ir);
C#:

除了循环整个
DataGridview
,您还可以将单个
DataGridViewCell
(单元格)的计算添加到适当的事件中。但是您不会注意到性能差异,除非您有很多行

还可以使用定义的行或单元格简化语法,如下所示:

DataGridViewRow dr;
dr = dgv.Rows(ir);
并应用它:

dr.Cells("Col1").value = result;

此外,您应该对设置为DataGridView的
数据源的
DataTable
上的值执行操作,而不是对
DataGridView
本身执行操作。为了避免由于性能(当您有很多行时)等原因而遇到错误的数据类型。

为什么?你几乎肯定会得到同样的建议。我转述了这个问题,用另一种方式来描述它。我还试图删除前面的问题,以避免干扰。谢谢你的建议
dr.Cells("Col1").value = result;