我有一个dataGridView和一个按钮,当我按下按钮时,每行的第三个单元格包含值“1”,但我希望只有包含数据的行应该包含“1” 在第三栏。 我尝试使用此代码进行测试,但结果显示在图像中:
private void button4_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
dataGridView1.Rows.Add("" + dt.Year.ToString() + "", "En cours", "0");
if (dataGridView1.SelectedRows.Count == 1)
{
DataGridViewRow row = dataGridView1.SelectedRows[0];
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
// int ik = (int)dataGridView1.Rows[i].Cells[3].Value;
foreach (DataGridViewRow row1 in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row1.Cells)
{
if (cell.Value != null)
{
dataGridView1.Rows[i].Cells[2].Value = 1;
}
else //if (string.IsNullOrEmpty( cell.Value.ToString()))
{
break;
}
}
}
}
}
}
结果:
感谢帮助
答案 0 :(得分:1)
也许这会有所帮助:
private void button4_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
dataGridView1.Rows.Add("" + dt.Year.ToString() + "", "En cours", "0");
if (dataGridView1.SelectedRows.Count == 1)
{
DataGridViewRow row = dataGridView1.SelectedRows[0];
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
// int ik = (int)dataGridView1.Rows[i].Cells[3].Value;
foreach (DataGridViewRow row1 in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row1.Cells)
{
string st = Convert.ToString(dataGridView1.Rows[i].Cells[2].Value);
if (cell.Value == null && st == "0")
{
dataGridView1.Rows[i].Cells[2].Value = 1;
}
else //if (string.IsNullOrEmpty( cell.Value.ToString()))
{
break;
}
}
}
}
}
}
修改强>
我不确定某些事情应该像你一样以这种方式完成,这个项目的结果是什么。但我修改并调试了它现在正在运行的代码,我希望它会有所帮助