0

Hexファイルに関する情報を格納するDataGridViewがあります。テーブル行の 1 つは、チャンクの生の 16 進データです。場合によっては、DataGridViewTextBoxCell.MaxInputLength よりも長く (~90000)、DataGridView でセルに格納させたくないことがあります。int.MaxValue に設定して回避しようとしていますが、うまくいかないようです... Cell の値は単に表示されません (しかし、デバッグは、それがそこにあり、セルに正常に格納されていることを示しています。 ) 誰でも私を助けることができますか?

私のコード:

if (s.Length >= ((DataGridViewTextBoxCell) this.datagridviewChunks.Rows[this.datagridviewChunks.Rows.Count - 1].Cells[1]).MaxInputLength)
{
    ((DataGridViewTextBoxCell) this.datagridviewChunks.Rows[this.datagridviewChunks.Rows.Count - 1].Cells[1]).MaxInputLength = int.MaxValue;
    ((DataGridViewTextBoxCell) this.datagridviewChunks.Rows[this.datagridviewChunks.Rows.Count - 1].Cells[1]).Value = s;
}
4

1 に答える 1

0

DataGridViewCellには最大43679文字の表示制限があるようです。これは、フォーム コントロールのレンダリングにおけるパフォーマンスへの影響による意図的な制限が原因である可能性があります。値はプロパティ内に格納されますが、表示されません。

また、SQL Server Management Studio 関連の問題SSMS - Can't paste more than 43679 characters from a column in Grid Modeも見つかりました。これは、おそらくDataGridViewクラスが製品で使用されているためです。

TextBox問題なく値が表示されるように、フォームでは別の を使用することをお勧めします。

于 2013-01-16T09:36:01.487 に答える