我在一个表单上有一个数据绑定数据网格视图,该表单有一个可以包装的文本列。刷新列时,即使行的内容被换行(因此是多行),每行的高度也会恢复为单行高度。
我需要能够以编程方式确定特定行的列中的数据当前是否正在换行。是否有一个属性可以检查数据是否足够长以使其成为多行?
我在一个表单上有一个数据绑定数据网格视图,该表单有一个可以包装的文本列。刷新列时,即使行的内容被换行(因此是多行),每行的高度也会恢复为单行高度。
我需要能够以编程方式确定特定行的列中的数据当前是否正在换行。是否有一个属性可以检查数据是否足够长以使其成为多行?
我认为您在问几个不同的问题;两者的答案都是“是”。
首先,文本的长度或格式。检查单元格的值作为字符串,看它是否包含换行符,或者它是否比 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)
...
将以下内容添加到您的代码中:
string nl = Environment.NewLine;
dataGridView.Rows.Add(str1 + nl + str2);