gpt4 book ai didi

c# - DataGridView 显示行标题单元格

转载 作者:太空狗 更新时间:2023-10-29 19:55:25 24 4
gpt4 key购买 nike

我正在尝试显示链接到 DataTable 的简单 DataGridView,最终我希望 DataTable 中的第一列成为 DataGridView 的行标题单元格。在这一点上,我将满足于在行标题单元格中具有任何值。我可以显示包含所有行和列的 DataGridView,以及列标题单元格,但没有行标题单元格。我检查了 row.HeaderCell.Value 中的值,我放在那里的数据就在那里。我检查了 row.HeaderCell.Displayed,它是假的,但这是只读的,所以我不能让它成为真。如何显示行标题单元格?

这是我尝试让它工作的简单示例:

        DataTable table = new DataTable();
for (int i = 0; i<10; i++)
{
table.Columns.Add(new DataColumn("column-" + i));
}

for (int i = 0; i < 10; i++)
{
DataRow theRow = table.NewRow();

for (int j = 0; j < 10; j++)
theRow[j] = i + "-" + j;
table.Rows.Add(theRow);

}

dataGridView1.DataSource = table;
dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders;
int rowNumber = 1;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.IsNewRow) continue;
row.HeaderCell.Value = "Row " + rowNumber;
rowNumber = rowNumber + 1;
}
dataGridView1.AutoResizeRowHeadersWidth(
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);

最佳答案

如果将此代码放在构造函数中,它将无法运行。将代码移到窗体的 Load 事件中,它应该可以正常工作。 Windows.Forms 和 C# 的一个常见问题是在构造函数中使用了不正确的初始化。许多控件直到构造函数完成后才完全创建。 (我忘记了为什么,但我相信这是因为尚未创建句柄。)如果您按照 Microsoft 的建议在 Load 事件中进行初始化,则可以避免许多“解决方法”。

关于c# - DataGridView 显示行标题单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1267357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com