无法编辑绑定到BindingList的DataGridView的值

时间:2010-04-30 23:10:39

标签: winforms data-binding datagridview readonly

我无法编辑数据绑定绑定列表。让我用以下内容说明:

说我有Person类:

public Class Person{
  private string m_firstname;
  private string m_lastname;
  public string FirstName{get;set;}
  public string LastName{get;set;}
  public Person{ ... }
}

然后我有一个名为Population的包含类:

public class Population{
  private BindingList<Person> m_lstPerson = new BindingList<Person>();
  private string m_countryName;
  public BindingList<Person> ListPerson{get; set;}
  public string CountryName { get; set; }
}

然后,我在一个表单上有一个带有DataSource = m_lstPopulation(BindingList)的第一个数据网格视图。使用Population对象时,绑定就像一个魅力。当我双击时,它会打开一个显示对象详细信息的对话框。详细信息中的一个选项卡包含绑定到该群体的ListPerson的数据网格视图。

第二个datagridview显示正常。但是,我无法在此datagridview中编辑或添加单元格。没有列设置为只读。实际上,两个datagridview都有几乎相同的参数。

我错过了什么?似乎已在Population对象上放置了一个锁,因此无法编辑其内部字段...

请指教。感谢。

1 个答案:

答案 0 :(得分:1)

首先验证是否设置了这些网格属性:

ReadOnly = false; AllowUserToAddRow = true; EditMode =;

如果这不起作用,那么你可能会陷入编辑模式......听起来你的网格上有一些自定义行为(“当我双击时,它会打开一个显示对象详细信息的对话框表单。 “)...

为此尝试在对话框关闭后调用DataGridView.CancelEdit()以结束单击行上的编辑会话。这会将“新行”行恢复到网格。当您开始编辑另一行时,它会消失,这取决于EditMode设置可能在您单击(输入)另一行时开始。