0

我有一个 DataGridView,它存储有关 hex 文件的信息。其中一个表行是一个块的原始十六进制数据。有时,它比 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 not paste more than 43679 characters from a column in Grid Mode,可能是因为DataGridView该类正在产品中使用。

我建议您在表单上使用单独的TextBox代替,这​​样可以毫无问题地显示值。

于 2013-01-16T09:36:01.487 回答