我的数据网格视图中有复选框列(未绑定)和其他2列。复选框列顶部有一个selectall复选框。在更新I循环所有选定的行时,更新datagridview,然后通过我的DataAdapter调用update。我的问题是,我在里面点击的任何行(在该行的任何列内单击)都不会更新。我尝试了各种各样的事情,比如将currentcell设置为null,使currentcell.selected属性为false,
using (this.daTableAdapter.Connection = new SqlConnection(GetConnectionStringFromControls()))
{
foreach (DataGridViewRow row in dgvCompanies.Rows)
{
if ((row.Cells["Select"].Value != null) && ((bool)row.Cells["Select"].Value == true))
{
row.Cells[3].Value = ((ComboBoxItem)cmbUserInfo.SelectedItem).Value;
dgvCompanies.EndEdit(); //Have tried leaving this out
}
}
int count = this.daTableAdapter.Update(myDataSet.Companies);
}
我的计数总是缺少应该更新的行数。 UI总是正确更新,即row.Cells [3] .Value正如我所期望的那样设置。我在sql profiler上运行了跟踪,并且没有为该行发送更新命令。
任何想法都非常感激