C#WinForms BindingList& DataGridView - 禁止EDIT阻止创建新行?我该如何解决这个问题?

时间:2009-10-05 11:18:45

标签: c# winforms data-binding datagridview bindingsource

关于我使用BindingList的DataGridView,我是禁用编辑当前行,但允许添加新行。我遇到的问题是,当我不允许编辑时,这似乎阻止了添加一个新的行项,就像你在这个新行的表格中表示它似乎不允许编辑???

知道如何解决这个问题吗?我的代码部分如下:

   BindingSource bs = new BindingSource();
   bList = new BindingList<Customer>();
   bList.AllowNew = true;
   bList.AllowEdit = false;

   // Fill bList with Customers
   bList.Add(new Customer("Ted"));
   bList.Add(new Customer("Greg"));
   bList.Add(new Customer("John"));

   bs.DataSource = bList;
   dataGridView1.DataSource = bs;

感谢

1 个答案:

答案 0 :(得分:4)

可能要求DataGridView主持:

,而不是与来源作斗争
dataGridView1.DataSource = bs;
dataGridView1.ReadOnly = true;
dataGridView1.CurrentCellChanged += delegate 
{
    DataGridViewRow row = dataGridView1.CurrentRow;
    bool readOnly = row == null ||
        row.Index != dataGridView1.NewRowIndex;
    dataGridView1.ReadOnly = readOnly;
};

(并且不要在列表中设置AllowEdit