我有datagridview
datagridviewbuttoncolumn
,我使用该按钮显示来自另一个表的选择数据的搜索表单。当用户从搜索表单中选择数据时,我想用所选数据更新当前datagridviewrow
:
当用户选择第一次datagridview
行更新搜索按钮并在行尾添加新行时添加:
但是当第二次选择搜索按钮时,最后的新行不会出现。
如何解决此问题? 有没有更好的解决方案呢?
private void dgvPlannedWoInstruction_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderId = (DataGridView) sender;
if (senderId.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
{
var frmSearch = new FrmStandardInstructionList();
frmSearch.ShowDialog();
if (frmSearch.ucStandardInstructionList1.standardInstructionDto != null)
{
senderId.BeginEdit(true);
PlannedInstructionDTO p;
senderId.NotifyCurrentCellDirty(true);
senderId.BeginEdit(true);
senderId.CurrentRow.Cells["StandardInstructionCode"].Value = frmSearch.ucStandardInstructionList1.standardInstructionDto.Number;
senderId.CurrentRow.Cells["StandardInstructionId"].Value = frmSearch.ucStandardInstructionList1.standardInstructionDto.Id;
senderId.EndEdit();
}
}
}
答案 0 :(得分:0)
您可以在更新之后刷新DataSource,如:
DataGridView view = new DataGridView();
view.DataSource = somesource;
view.DataSource = null;
view.DataSource = updatedsource;
抱歉,我无法发表评论,但这应该会有所帮助。 另见:How can I refresh c# dataGridView after update ?