我想在绑定到DataTable的空白DataGridView中添加或更新行。
我的DataTable有3列FName,LName,Number。
此外,我还有3个TextBox用于输入这些列的数据和一个AddOrUpdate按钮。
添加或更新操作应遵循此规则(伪代码):
If the item has been added before and already exists in DataTable Then
Update the value of 'Number' Column .
ELSE
Add new row using given values.
这是我的代码:
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if ((row.Cells[1].Value.ToString().Equals(txt_Name.Text)) && (row.Cells[2].Value.ToString().Equals(txt_Family.Text)))
{
row.Cells[3].Value = txt_Number.Text;
dataGridView1.DataSource = dt;
break;
}
else
{
dt.Rows.Add(txt_Code.Text, txt_Name.Text, txt_Family.Text, txt_Number.Text);
dataGridView1.DataSource = dt;
break;
}
}
使用我的代码,有两个问题:
如何在DatTable中搜索并执行添加或更新?
答案 0 :(得分:0)
我在看这个(没有DataTable):
try
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == txt_FName.Text)
{
dataGridView1.Rows[i].Cells[2].Value = [any proccess] ; // Update Row
return;
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
dataGridView1.Rows.Add(txt_FName.Text, txt_LName.Text, txt_Number.Text); // New Row