无法在未绑定的DataGridView中查看行

时间:2012-09-20 01:38:09

标签: c# .net datagridview

我正在尝试将未绑定的DataGridView传递给表单,并且无法显示行,即使Rows.Count值正确也是如此。我觉得我错过了一些明显的东西。

// method code
// Create an DataGridView
DataGridView dgv = new DataGridView();
dgv.Columns.Add("Name","Name");
dgv.Columns.Add("Comments", "Comments");

// Add rows to datagridview
int n = dgv.Rows.Add();
dgv.Rows[n].Cells["Name"].Value = "a test name";
dgv.Rows[n].Cells["Comments"].Value = "some comment";

// Pass DataGridView to form
test_PassingDataGridView f = new test_PassingDataGridView();
f.DataGridTest = dgv;
f.ShowDialog();


// test_PassingDataGridView form code
DataGridView _datagridtest;
public DataGridView DataGridTest
{
    get { return _datagridtest; }
    set { _datagridtest = value; }
}

public test_PassingDataGridView()
{
    InitializeComponent();
}

private void test_PassingDataGridView_Load(object sender, EventArgs e)
{
    this.dataGridView1 = _datagridtest; // _datagridtest.Rows.Count is correct at this point
} 

1 个答案:

答案 0 :(得分:0)

不要将DataGridView传递给表单。在设计器中的表单上放置DataGridView,然后将DataTable传递给表单,并让表单将DataTable绑定到DataGridView

通过创建DataGridView,您会遗漏许多通常在设计器中设置的属性。您可以通过设置属性(特别是位置和大小)来使其工作,但即使这样,传递控件也是非常糟糕的形式。改为传递数据。