我想在C#(winform)中使用可变数量的列创建datagridview。我做了这个
dataGridView2 = _dm.CreateGrid();
其中CreateGrid()是以下方法:
public DataGridView CreateGrid()
{
DataGridView dtgr = new DataGridView();
using (DbEntities db = new DbEntities())
{
foreach (Resource r in db.Resources)
{
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
col.ValueType = typeof(string);
col.Name = r.Description;
col.HeaderText = r.Description;
col.DataPropertyName = r.Description;
dtgr.Columns.Add(col);
}
}
return dtgr;
}
描述是字符串类型。我在winform中看不到datagridview。问题在哪里?
答案 0 :(得分:0)
我认为DataGridViewTextBoxColumn
导致问题。请尝试使用DataGridViewColumn
。希望有所帮助。
答案 1 :(得分:0)
您需要将DataGridView
添加到Form
dataGridView2 = _dm.CreateGrid();
this.Controls.Add(dataGridView2);
为什么要手动创建列。如果您设置DataGridView
AutoGenerateColumns = true
将根据数据源的列/字段自动生成列
来自MSDN HTMLElement.click() on MDN