【问题标题】:Winform DataGridView not show rowsWinform DataGridView 不显示行
【发布时间】:2015-05-15 23:37:00
【问题描述】:

我将 DataGridView 与数据源绑定(非空!)

AutoGenerateColumns = false
dgrList.Datasource = mySource;

我有一个 4 列的 DataGridView(设计时)。 “mySource”包含 3 行,但网格没有创建任何行。不是有 3 个没有文本的“空白行”,它什么都不显示,就像数据源为空(但不是)。当我使用

foreach(var c in mySource){
   dgrList.Rows.add(new object[]....);
}

它也显示 3 行。 没有其他语句设置数据源,除了上面那个

【问题讨论】:

  • 您在此处显示的代码必须有效。显示更多代码。例如:也许您在将mySource 对象设置为DataSource 或其他内容后清除它。

标签: winforms datagridview


【解决方案1】:

您需要为已创建的列设置DataPropertyName,以便DataGridView 知道要显示对象的哪些属性。例如。如果您有 2 列(名称和数据):

dgrList.AutoGenerateColumns = false;
dgrList.Columns[0].DataPropertyName = "Name";
dgrList.Columns[1].DataPropertyName = "Data";

dgrList.DataSource = new List<object>() 
{ 
    new { Name = "A", Data = 1 }, 
    new { Name = "B", Data = 2 } 
};

【讨论】:

    【解决方案2】:

    将DataSource设置为datagridview后,需要调用DataBind方法。

    dgrList.Datasource = mySource;
    dgrList.DataBind();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多