DatagridView具有可变数量的列

时间:2015-07-16 15:50:26

标签: c# winforms datagridview

我想在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。问题在哪里?

2 个答案:

答案 0 :(得分:0)

我认为DataGridViewTextBoxColumn导致问题。请尝试使用DataGridViewColumn。希望有所帮助。

答案 1 :(得分:0)

您需要将DataGridView添加到Form

的控件中
dataGridView2 = _dm.CreateGrid();
this.Controls.Add(dataGridView2);

为什么要手动创建列。如果您设置DataGridView

AutoGenerateColumns = true将根据数据源的列/字段自动生成列

来自MSDN HTMLElement.click() on MDN