【问题标题】:"No row can be added to a DataGridView control that does not have columns. Columns must be added first." when DataGridView used with DataSource“没有行不能添加到没有列的 DataGridView 控件。必须先添加列。”当 DataGridView 与 DataSource 一起使用时
【发布时间】:2013-06-18 21:32:47
【问题描述】:

我收到此错误消息(“无法将行添加到没有列的 DataGridView 控件。必须先添加列。”)但我的代码看不到任何问题。我发誓我已经这样做了数百次了,但还是有问题。

class ViewItem {
   public string Name;
   public string Value;
}

...
BindingList<ViewItem> list=  new BindingList<ViewItem>();
dataGridView.DataSource = list;
ViewItem vi = new ViewItem(){Name = "Foo", Value = "Bar"};
list.Add(vi);
/// error here !

【问题讨论】:

    标签: c# datagridview


    【解决方案1】:

    需要将列声明为属性,而不仅仅是数据成员。将{get;set;} 添加到要在数据网格中显示为列的类成员。

    class ViewItem {
       public string Name { get;set;}
       public string Value { get;set;}
    }
    
    ...
    BindingList<ViewItem> list=  new BindingList<ViewItem>();
    dataGridView.DataSource = list;
    ViewItem vi = new ViewItem(){Name = "Foo", Value = "Bar"};
    list.Add(vi);
    /// works!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多