在DataGridView C#中存储长值

时间:2013-01-16 08:06:18

标签: c# datagridview

我有一个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;
}

1 个答案:

答案 0 :(得分:0)

DataGridViewCell似乎有最大 43679 字符显示限制,可能是由于渲染表单控件对性能的影响而导致的预期限制。该值存储在属性中,但未显示。

我还发现了与SQL Server Management Studio相关的问题SSMS - Can not paste more than 43679 characters from a column in Grid Mode,可能是因为产品中正在使用DataGridView类。

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