【发布时间】:2026-01-15 07:55:01
【问题描述】:
我的 DataTable 有超过 1000 列,我想在 datagridview 上显示值。因为FillWeigth的问题我用下面的方法来填充gridview,
public bool TransferDataTableToGrid(DataGridView dataGrid, DataTable dataTable)
{
dataGrid.SuspendLayout();
if ((dataGrid != null) && (dataTable != null))
{
dataGrid.Columns.Clear();
dataGrid.AutoGenerateColumns = false;
dataGrid.DataSource = dataTable;
for (int i = 0; i < dataTable.Columns.Count; i++)
{
DataGridViewColumn column = new DataGridViewColumn();
column.Name = dataTable.Columns[i].ColumnName;
column.FillWeight = 1;
column.CellTemplate = new DataGridViewTextBoxCell();
column.ValueType = dataTable.Columns[i].DataType;
dataGrid.Columns.Add(column);
}
for (int i = 0; i < dataTable.Columns.Count; i++)
{
for (int ii = 0; ii < dataTable.Rows.Count; ii++)
{
dataGrid[i, ii].Value = dataTable.Rows[ii][i];
}
}
}
dataGrid.ResumeLayout();
return true;
}
有时我的网格视图是空的。只有在第二次执行数据之后才会显示。你有什么想法,为什么...?
谢谢。
【问题讨论】:
-
你不觉得你的表有 1000 列有点奇怪吗?
-
不幸的是,数据测量有 ca。一个对象 1500 分
-
当您手动添加所有数据时,您不应将表指示为 DataSource,因为它存在冲突,但我不确定这是否会导致您提到的错误。但是如果有任何进展,请尝试并报告。
标签: c# datagridview datatable large-data