我的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