我的DataTable拥有1000列以上,我想在datagridview上显示值。因为FillWeigth问题我用下面的方法来填充GridView控件,从DataTable中添加大量列的值后,为空DataGridView
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;
}
,有时我有我的GridView是空的效果。仅在显示第二个执行数据之后。你有什么想法,为什么......?
谢谢。
难道你不觉得你的桌子有1000列有点奇怪吗? – Beatles1692 2012-02-17 08:12:23
不幸的是,数据测量有约。对象为1500分 – alex555 2012-02-17 08:33:54
手动添加所有数据时,不应将表指定为DataSource,因为它存在冲突,但我不确定这是否会导致您提到的错误。但请尝试并报告是否有任何进展。 – 2012-02-17 13:51:53