Datagridview列限制

sun*_*kar 5 c# datagridview winforms

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

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

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

小智 13

打开网格事件columnAdded.

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


Dav*_*all 9

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

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


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


Tan*_*hwa -5

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