让它自动换行。然后也设了它的AutoSizeRowMode 为AllCells。但它就是还不能多行显示。上网找了许多资料都说用:
1,让整个DataGridView的所有cell都可以自动换行。
Dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
2,让DataGridView的一列所有cell都可以自动换行。
Dgv.Columns[0].CellTemplate.Style.WrapMode = DataGridViewTriState.true;
3,也可以让奇数行和偶数行有不同的换行设定。
Dgv.AlternatingRowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
什么的。但我试都不行。
请问有谁知道的。我用的是VS2008。不知道会不会与之前的版本操作 DataGridView不同。或者有没有什么办法。可以在绑定数据到DataGridView 的时候对它的值进行换行处理。我要的结果如下:
列1 列2 列3
-----------------------------------------
sssss ssss ssssss
sssssss
-----------------------------------------
而不是现在的:
列1 列2 列3
-----------------------------------------
ssssss ssssss sssssssssssssssssssssssss
-----------------------------------------------
请知道的帮帮忙。谢谢!
24 个解决方案
#1
设置行宽试试
#2
1、设置下DefaultCellStyle属性里的WrapMode属性,默认为false,设置为true。
2、设置下AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
2、设置下AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
#3
多谢楼上的回答。以上二楼的方法。我都找到了。也试了。不行。没有用。
#4
你保存进数据库的时候直接保存进去,比如你输入框是
txtone这个文本狂保存内容,那么你这样
直接把这个文本框的txtone.text保存进数据库,
然后在取出的时候处理一下就可以,比如
string strT = 数据库里保存的刚才的内容
strT = strT.Replace( "\r\n ", " <br> ");
这样现在strT只要付给一个label标签,它就能正常显示换行出来了
#5
上楼用"<br>"我的是WinForm项目。用<br>?????
#6
学习,帮顶。。。
#7
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
结果是:
不知是不是你要的结果
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
结果是:
不知是不是你要的结果
#8
恩。是要这种结果。请问楼上用的是VS多少版本的。就用:
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。可以实现。
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。可以实现。
#9
不过楼上的换成英文你试试。我应该会发现也不能达到效果的。
#10
英文中间要是没有空格是不会换行的
#11
#12
但问题是。如果是英文那么一个单词就会有一个空格。这样的话也太不合常理了吧。有没有什么办法解决这个问题。请高手帮帮忙。谢谢。
#13
没有空格
#14
只要有空格就可以换行
#15
所以就是说一个单词就一行的话。是不可行的。继续请高手帮忙。
#16
一个单词就一行的话只能手工处理,没有办法
#17
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders
#18
继续关注!
#19
没有别的分隔符的话,只能根据宽度
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
}重新设置单元格值
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
}重新设置单元格值
#20
你们说的这些方法。我在网上也找到了。试了。没有用。
#21
在定义数据时不要定义成可变的
!
!
#22
谢谢,好使
#23
这个才是正解,楼主居然不给分,鄙视... ....
#24
2楼方法管用, 厉害
#1
设置行宽试试
#2
1、设置下DefaultCellStyle属性里的WrapMode属性,默认为false,设置为true。
2、设置下AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
2、设置下AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
#3
多谢楼上的回答。以上二楼的方法。我都找到了。也试了。不行。没有用。
#4
你保存进数据库的时候直接保存进去,比如你输入框是
txtone这个文本狂保存内容,那么你这样
直接把这个文本框的txtone.text保存进数据库,
然后在取出的时候处理一下就可以,比如
string strT = 数据库里保存的刚才的内容
strT = strT.Replace( "\r\n ", " <br> ");
这样现在strT只要付给一个label标签,它就能正常显示换行出来了
#5
上楼用"<br>"我的是WinForm项目。用<br>?????
#6
学习,帮顶。。。
#7
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
结果是:
不知是不是你要的结果
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。
结果是:
不知是不是你要的结果
#8
恩。是要这种结果。请问楼上用的是VS多少版本的。就用:
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。可以实现。
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。可以实现。
#9
不过楼上的换成英文你试试。我应该会发现也不能达到效果的。
#10
英文中间要是没有空格是不会换行的
#11
#12
但问题是。如果是英文那么一个单词就会有一个空格。这样的话也太不合常理了吧。有没有什么办法解决这个问题。请高手帮帮忙。谢谢。
#13
没有空格
#14
只要有空格就可以换行
#15
所以就是说一个单词就一行的话。是不可行的。继续请高手帮忙。
#16
一个单词就一行的话只能手工处理,没有办法
#17
RowsDefaultCellStyle.WrapMode = DataGridViewTriState.true;
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders
AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders
#18
继续关注!
#19
没有别的分隔符的话,只能根据宽度
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
}重新设置单元格值
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
}重新设置单元格值
#20
你们说的这些方法。我在网上也找到了。试了。没有用。
#21
在定义数据时不要定义成可变的
!
!
#22
谢谢,好使
#23
这个才是正解,楼主居然不给分,鄙视... ....
#24
2楼方法管用, 厉害