c#DataGridView不显示数据

时间:2017-11-23 21:22:53

标签: c# winforms datagridview

我有一个使用设计器放在表单上的DataGridView。我试图通过编程创建行来显示一些数据。代码如下。此DataGridView根本不显示任何内容,它也可能是空标签或面板。我已经查看了有关空DataGridViews的其他问题并尝试了所有建议。一个常见的建议是"只需将AutoGenerateColumns设置为true,它就可以解决问题。"那没用。我已经尝试在DataGridView上实现DataTable并绑定到DataSource。这也不起作用。

在VisualStudio中使用调试器,我尝试查看行属性/列属性/单元属性(每行内)。行和单元格属性都有一个"显示" property,设置为false。这似乎是一个只读属性,我无法将其设置为true(我尝试时出错)。显然,可以将此属性设置为true或false以显示或隐藏行或单元格,但我无法将其设置为任何内容。

在尝试了很多事情之后,我最终得到了下面的最小测试代码,这应该有用,但仍然没有。

我做错了什么?

int M = 2, N = 2;

dgvSpreadSheet.AutoGenerateColumns = true;
dgvSpreadSheet.ColumnCount = N;
dgvSpreadSheet.Rows.Clear();
for (int ix = 0; ix < N; ix++) 
    dgvSpreadSheet.Columns[ix].Name = "Column " + (ix + 1).ToString();

for (int ix = 0; ix < M; ix++)
{
    string[] row = new string[N];
    for (int j = 0; j < N; j++)
    {
        row[j] = "Test";
    }

    dgvSpreadSheet.Rows.Add(row);
    dgvSpreadSheet.Rows[ix].HeaderCell.Value = "Header" + (ix + 1).ToString();
}

dgvSpreadSheet.RowHeadersWidth = 200;
dgvSpreadSheet.RowHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True;
dgvSpreadSheet.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dgvSpreadSheet.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

0 个答案:

没有答案