【发布时间】:2017-08-21 20:16:13
【问题描述】:
我需要在方法中按名称迭代所有行/单元格并按条件替换值:DataBindingComplete。
我试图这样:
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
string pass = dataGridView1.Rows[e.RowIndex].Cells["dataGridViewTextBoxColumn45"].Value.ToString();
dataGridView1.Rows[e.RowIndex].Cells["dataGridViewTextBoxColumn45"].Value = (pass == "1") ? "Повторно" : "Первый раз";
}
但是没有e.RowIndex 属性。该怎么做?
不要建议我使用方法_CellFormatting。它对我不起作用,因为我有自定义列,可以通过这种方法呈现。
我也试过这种方式:
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) {
foreach (DataGridViewRow row in dataGridView1.Rows)
{
intRow++;
string pass = dataGridView1.Rows[intRow].Cells["dataGridViewTextBoxColumn45"].Value.ToString();
dataGridView1.Rows[intRow].Cells["dataGridViewTextBoxColumn45"].Value = (pass == "1") ? "Повторно" : "Первый раз";
}
}
它返回一个错误:
System.StackOverflowException 发生 HResult=0x800703E9
【问题讨论】:
标签: c# winforms c#-4.0 datagridview