我有一个datagridview表,我需要显示一些数据。在某些情况下,我超出了列数限制并得到以下错误:
列FillWeight值的总和不能超过65535
我可以使用其他工具来克服这种限制吗?
答案 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
变量。要增加此数据类型的限制,您应使用Int32
或Int64
数据类型。