一部のデータを表示する必要がある 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
データ型を使用する必要があります。