Datagridview列限制

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

列’FillWeight值的总和不能超过65535

有没有其他工具可以用来克服这个限制?

打开网格事件columnAdded

 private void dataGridViewName_ColumnAdded(object sender, DataGridViewColumnEventArgs e) { e.Column.FillWeight = 10; // < 

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

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


在考虑不同的设计时可能值得你考虑 – 在DataGridView中有这么多列不会很有用,DataGridView的性能最多只能调整到100列(我从DataGridView的这个论坛post中得到了这个数字)项目经理)

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