我有一个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;
}
答案 0 :(得分:0)
DataGridViewCell
似乎有最大 43679 字符显示限制,可能是由于渲染表单控件对性能的影响而导致的预期限制。该值存储在属性中,但未显示。
我还发现了与SQL Server Management Studio相关的问题SSMS - Can not paste more than 43679 characters from a column in Grid Mode,可能是因为产品中正在使用DataGridView
类。
我建议您在表单上使用单独的TextBox
,这样可以毫无问题地显示值。