当在datagridview的末尾添加行绑定到List时,添加行后不会显示新行

时间:2015-10-12 11:17:35

标签: c# winforms datagridview

我有datagridview datagridviewbuttoncolumn,我使用该按钮显示来自另一个表的选择数据的搜索表单。当用户从搜索表单中选择数据时,我想用所选数据更新当前datagridviewrowenter image description here

当用户选择第一次datagridview行更新搜索按钮并在行尾添加新行时添加:

enter image description here

但是当第二次选择搜索按钮时,最后的新行不会出现。

如何解决此问题? 有没有更好的解决方案呢?

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();
        }
     }
}

1 个答案:

答案 0 :(得分:0)

您可以在更新之后刷新DataSource,如:

DataGridView view = new DataGridView();
view.DataSource = somesource;
view.DataSource = null;
view.DataSource = updatedsource;

抱歉,我无法发表评论,但这应该会有所帮助。 另见:How can I refresh c# dataGridView after update ?