Datagridview列限制

时间:2013-05-12 13:09:05

标签: c# winforms datagridview

我有一个datagridview表,我需要显示一些数据。在某些情况下,我超出了列数限制并得到以下错误:

  

列FillWeight值的总和不能超过65535

我可以使用其他工具来克服这种限制吗?

3 个答案:

答案 0 :(得分:9)

打开网格事件columnAdded

private void dataGridViewName_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
    e.Column.FillWeight = 10;    // <<this line will help you
}

答案 1 :(得分:8)

DataGridView中列的默认填充权重为100.这与65535网格的最大组合填充权重相结合意味着当AutoGenerateColumns设置为true时,数据中的列数不能超过655列源。

如果您需要更多列,那么唯一的解决方案是将网格的AutoGenerateColumns设置为false,然后手动添加具有不同填充权重的列(我不确定0是否有效填充重量,所以你可能需要使用1)。


考虑一个不同的设计可能值得你考虑 - 在DataGridView中有这么多列不会很有用,DataGridView的性能最多只能调整到100列(我从{{3获得了这个数字)通过DataGridView程序管理器)

答案 2 :(得分:-7)

如果它的65,535是16位数(因为2 ^ 16 = 65,536)。这意味着你已经采用了Int16变量。要增加此数据类型的限制,您应使用Int32Int64数据类型。