C# 列数可变的DatagridView

C# 列数可变的DatagridView,c#,winforms,datagridview,C#,Winforms,Datagridview,我想在C#(winform)中创建一个列数可变的datagridview。我已经这样做了 dataGridView2 = _dm.CreateGrid(); 其中CreateGrid()是以下方法: public DataGridView CreateGrid() { DataGridView dtgr = new DataGridView(); using (DbEntities db = new DbEntities()) {

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

我认为是
DataGridViewTextBoxColumn
造成了问题。尝试改用
DataGridViewColumn
。希望能有所帮助。

我认为是
DataGridViewTextBoxColumn
导致了这个问题。尝试改用
DataGridViewColumn
。希望对您有所帮助。

您需要将
DataGridView
添加到
表单的控件中

dataGridView2 = _dm.CreateGrid();
this.Controls.Add(dataGridView2);
为什么要手动创建列<如果设置
AutoGenerateColumns=true


从MSDN中,您需要将
DataGridView
添加到
表单的控件中

dataGridView2 = _dm.CreateGrid();
this.Controls.Add(dataGridView2);
为什么要手动创建列<如果设置
AutoGenerateColumns=true


从MSDN中

在表单上放置一个面板并将其放入该面板表单代码后面并将其停靠设置为填充如何将DGV添加到表单中?在表单上放置一个面板并将其放入该面板表单代码后面并将其停靠设置为填充如何将DGV添加到表单中?我尝试添加this.Controls.add(dataGridView2)行;我还是看不到这一点datagridview@Boris,请在问题中显示您的datagridview
dataGridView2
是如何初始化并在表单中使用的代码?表单是否包含其他控件?其他控制装置可能会覆盖它。尝试添加
dataGridView2.BringToFront()将其添加到表单控件后,我尝试添加this.Controls.add(dataGridView2)行;我还是看不到这一点datagridview@Boris,请在问题中显示您的datagridview
dataGridView2
是如何初始化并在表单中使用的代码?表单是否包含其他控件?其他控制装置可能会覆盖它。尝试添加
dataGridView2.BringToFront()将其添加到表单控件后