【发布时间】:2011-04-29 06:32:29
【问题描述】:
我正在开发 winforms 应用程序。在我的表单上,我只需拖放一个 DataGridView 控件,然后使用属性窗口设置它的一些属性。以下是我用来填充我的 DataGridView 的代码。我在构造函数中编写了这段代码。
List<MyCustomClass> lst = new List<MyCustomClass>();
lst = LoadList(/*some params here*/);//now uptil this point everything works i.e the list contains values as desribed.
dataGridView1.DataSource = lst;
问题是当我运行程序时,我的 DataGridView 中没有显示任何内容。
关于更多细节,下面的代码代表了我使用属性窗口设置的属性
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeRows = false;
this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.GridColor = System.Drawing.Color.White;
this.dataGridView1.Location = new System.Drawing.Point(2, 329);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2);
this.dataGridView1.MultiSelect = false;
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(334, 106);
this.dataGridView1.TabIndex = 0;
【问题讨论】:
-
检查 AutoGenerateColumns 属性,尝试将其设置为 true
-
为什么人们在回答之前看不到标签。本帖与 ASP.NET 无关
-
@Jame 你检查过房产吗?
-
@V4Vendetta 是的,但在我的情况下它不起作用。我添加以下行 dataGridView1.AutoGenerateColumns = true;此行上方:dataGridView1.DataSource = lst;
-
@Jame:你的代码中一定还有其他东西是罪魁祸首。我刚刚尝试了带有 datagridview 和自定义类列表的简单表单,它工作正常。您可以使用简单的示例应用程序进行检查。
标签: c# winforms datagridview