确定特定DataGridView单元格中的文本是否正在包装

时间:2011-05-06 19:02:24

标签: c# datagridview datagridviewtextboxcell

我在表单上有一个数据绑定数据网格视图,该表单有一个可以包装的文本列。刷新列时,即使行的内容被包装(因此也是多行),每行的高度也会恢复为单行高度。

我需要能够以编程方式确定特定行的列中的数据当前是否包装。是否有属性可以检查数据是否足够长以使其成为多行?

2 个答案:

答案 0 :(得分:1)

我想你问了几个不同的问题;两者的答案都是“是”。

首先,文本的长度或格式。检查单元格的值是否为字符串,以查看它是否包含换行符,或者是否超过X个字符(我将为您提供一个好的X):

if(gridView.Rows[i].Cells[j].Value.ToString().Contains(Environment.NewLine)
      || gridView.Rows[i].Cells[j].Value.ToString().Length > x)
   ...

其次,您还可以确定当前是否在自动换行模式下显示行;如果是,它的大小应该是水平和垂直的组合:

if(gridView.Rows[i].Cells[j].Style.WrapMode = DataGridViewTriState.True)
   ...

答案 1 :(得分:0)

在代码中添加以下内容:

string nl = Environment.NewLine;
dataGridView.Rows.Add(str1 + nl + str2);