在datagridview单元格中显示长文本

时间:2011-05-03 06:01:22

标签: c# datagridview textbox

我正在尝试将字符串中包含的大约100-500个单词的文本显示为数据表的单行的两列,然后将其设置为DataSource的{​​{1}}值控制。

现在即使它渲染它非常缓慢/滚动需要永远。

我已将DataGridView设置为DefaultStyleMode,并调整行高以显示文字。

有没有其他方法可以加快速度,或者我应该调查WordWrap = true的{​​{1}}单元格吗?

1 个答案:

答案 0 :(得分:1)

如果仅显示几个字符并使其可点击,那么当用户点击它时,整个文字可以弹出显示?

首先,您必须将原始文本存储在应用程序的某个位置。假设您有一个数组string[] texts

中的文本

您所要做的就是:

  • 仅将文本的一部分添加到DataGridView控件而不是整个文本

您可以使用Split类中的string方法执行此操作。例如:

string text = "Oscar Mederos";
string portion = text.Substring(0, 3); //portion will be "Osc"

如果需要,您可以在字符串的末尾添加...

  • DataGridView
  • 的活动CellClick进行编程

在您的申请中填写该事件,并执行以下操作:

void DataGridView1_OnCellClick(object sender, DataGridViewCellEventArgs e)
{
    int rowClicked = e.RowIndex;
    int columnClicked = e.ColumnIndex;

    ///If the column clicked was the one that has the long texts, 
    //just find the original text in 'texts' using 'rowClicked' and show the 
    //message using MessageBox or creating a new Form for that purpose and 
    //showing it using ShowDialog()
}