绑定DataGridViewCheckBoxColumn不更新绑定源

时间:2010-01-12 09:11:10

标签: c# datagridview

我将DataGridView绑定到一个绑定源,数据源作为活动记录模型的列表:

    BindingSource bs = new BindingSource();
    bs.DataSource = _user.Addresses;

地址具有名为Actual的bool属性,而我的DataGridView具有CheckBoxColumn:

    DataGridViewCheckBoxColumn c = new DataGridViewCheckBoxColumn(false);
    c.Name = "actualColumn";
    c.HeaderText = "Aktualny";
    c.DataPropertyName = "Actual";
    c.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
    addressesDataGridView.Columns.Add(c);

数据库中的数据显示正确。

当我单击选中的复选框单元格并取消选中它然后转到保存按钮时,我的绑定源中的属性Actual不会被取消选中。

当我单击选中的复选框单元格并取消选中它并更改行选择,然后单击“保存”时,在bindingsource中可以看到按钮更改。

此问题是否存在解决方法?

1 个答案:

答案 0 :(得分:2)

问题是数据网格没有更新基础数据源。

您可以尝试在保存功能中首先调用BindingSource.EndEdit。

您还可以尝试在绑定到控件的CurrencyManager上调用EndCurrentEdit。要访问它,您可以:

  

myCurrencyManager = (CurrencyManager)this.BindingContext[myTable];