我有一个 datagridview 表,我需要在其中显示一些数据。在某些情况下,我超出了列数限制并收到以下错误:
列的 FillWeight 值之和不能超过 65535
有没有其他工具可以用来克服这个限制?
我有一个 datagridview 表,我需要在其中显示一些数据。在某些情况下,我超出了列数限制并收到以下错误:
列的 FillWeight 值之和不能超过 65535
有没有其他工具可以用来克服这个限制?
打开一个网格事件columnAdded
。
private void dataGridViewName_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
e.Column.FillWeight = 10; // <<this line will help you
}
DataGridView 中一列的默认填充权重为 100。这与网格的最大组合填充权重 65535 相结合意味着,如果AutoGenerateColumns
设置为 true,则数据源中的列数不能超过 655。
如果您需要比这更多的列,那么唯一的解决方案是将AutoGenerateColumns
网格设置为 false,然后手动添加具有不同填充权重的列(我不确定 0 是否是有效的填充权重,因此您可能需要使用 1)。
考虑不同的设计可能是值得的 - 在 DataGridView 中有这么多列不会很有用,DataGridView 的性能最多只能调整 100 列(我从DataGridView 的这个论坛帖子中得到了这个数字项目经理)
如果它是 65,535,它的 16 位数(因为 2^16=65,536)。这意味着你已经接受了一个Int16
变量。为了增加此数据类型的限制,您应该使用Int32
或Int64
数据类型。