GridView 换行?

lidanzi 2010-01-12 02:35:39
某单词很长,超过了我给该列设置的宽度,显示的时候列宽度变宽了,单词不会换行显示。
这种情况,在不加其他符号的情况下能换行吗?
...全文
1125 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wo115ning 2011-08-25
  • 打赏
  • 举报
回复
随便看看
hexi2016 2010-01-12
  • 打赏
  • 举报
回复
bucuode
yzf86211861 2010-01-12
  • 打赏
  • 举报
回复
不会 自动换行的。最多只能一行 没设置行的 width 的可以换行。
推荐EXTJS的表格控件。
sailky 2010-01-12
  • 打赏
  • 举报
回复
路过,看看先
paulgerchen 2010-01-12
  • 打赏
  • 举报
回复
一般不提倡換行的,影響整體的美觀度,如果實在很長建議"..."以后鏈接到其他頁面去看
happy664618843 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 alwaysyoung 的回复:]
引用 2 楼 zengzhan 的回复:
C# codethis.GridView1.Rows[i].Cells[1].Style.Add("word-break","break-all");



这个就行
[/Quote]
不行 我换行就是用这个
alwaysYoung 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zengzhan 的回复:]
C# codethis.GridView1.Rows[i].Cells[1].Style.Add("word-break","break-all");


[/Quote]
这个就行
lingdu_hua 2010-01-12
  • 打赏
  • 举报
回复
呃...你只需需要在页面的CSS样式里加一句:
#GridView1 TD{word-break:break-all;width:50px;}


GridView1替换你GridView的ID,另外把GridView设置的列宽去掉吧。
wosizy 2010-01-12
  • 打赏
  • 举报
回复
(Eval("Damage_AMT) 是字段名称
wosizy 2010-01-12
  • 打赏
  • 举报
回复
<ItemStyle HorizontalAlign="right" Width="90px" VerticalAlign="Top" />这一行吗?
这行你可以不用!···
你要用到的就是用模板列
<asp:TemplateField HeaderText="字段名称" SortExpression="字段">
<ItemTemplate>
<asp:Label ID="lbl_AMT" runat="server" Style="word-break: break-all; Text=' <%# (Eval("Damage_AMT)) %>' Width="90px"> </sp:Label>
</ItemTemplate>
</asp:TemplateField>
你的应该是这样!··
lidanzi 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wosizy 的回复:]
用模板列·
然后设置 Label  的Style="word-break: break-all;
这样 他就会自己换行了
给你个我的列子
  <asp:TemplateField HeaderText="字段名称" SortExpression="字段">
                    <ItemTemplate>
                            <asp:Label ID="lbl_AMT" runat="server" Style="word-break: break-all; Text=' <%# TMSCommon.GetDouble_(Convert.ToString(Eval("Damage_AMT"))) %>' Width="90px"> </asp:Label> </ItemTemplate>
                        <ItemStyle HorizontalAlign="right" Width="90px" VerticalAlign="Top" />
                    </asp:TemplateField>
Text=' <%# TMSCommon.GetDouble_(Convert.ToString(Eval("Damage_AMT"))) %>'这句 你可以直接用Eval...绑定
[/Quote]
确定最后一行的位置?会提示出错呀
lidanzi 2010-01-12
  • 打赏
  • 举报
回复
学习了 我试试可不可以
wosizy 2010-01-12
  • 打赏
  • 举报
回复
用模板列·
然后设置 Label 的Style="word-break: break-all;
这样 他就会自己换行了
给你个我的列子
<asp:TemplateField HeaderText="字段名称" SortExpression="字段">
<ItemTemplate>
<asp:Label ID="lbl_AMT" runat="server" Style="word-break: break-all; Text='<%# TMSCommon.GetDouble_(Convert.ToString(Eval("Damage_AMT"))) %>' Width="90px"></asp:Label></ItemTemplate>
<ItemStyle HorizontalAlign="right" Width="90px" VerticalAlign="Top" />
</asp:TemplateField>
Text='<%# TMSCommon.GetDouble_(Convert.ToString(Eval("Damage_AMT"))) %>'这句 你可以直接用Eval...绑定
Dream_Hunter_ 2010-01-12
  • 打赏
  • 举报
回复
网上的
http://www.tzwhx.com/newOperate/html/1/11/111/18580.html
arjsyy 2010-01-12
  • 打赏
  • 举报
回复
可以使用样式来控制换行的本文列举了兼容 IE 和 FF 的换行 CSS 推荐样式,详细介绍了word-wrap同word-break的区别。兼容 IE 和 FF 的换行 CSS 推荐样式:

最好的方式是

word-wrap:break-word; overflow:hidden;

而不是

word-wrap:break-word; word-break:break-all;

也不是

word-wrap:break-word; overflow:auto;

这种最好的方式,在 IE 下没有任何问题,在 FF 下,长串英文会被遮住超出的内容。

技术总结:

word-wrap是控制换行的。

使用break-word时,是将强制换行。中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。

break-word是控制是否断词的。

normal是默认情况,英文单词不被拆开。

break-all,是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题。

keep-all,是指Chinese, Japanese, and Korean不断词。即只用此时,不用word-wrap,中文就不会换行了。(英文语句正常。)

IE下:

使用word-wrap:break-word;所有的都正常。

FireFox下:

如这2个都不用的话,中文不会出任何问题。英文语句也不会出问题。但是,长串英文会出问题。

为了解决长串英文,一般用word-wrap:break-word;word-break:break-all;。但是,此方式会导致,普通的英文语句中的单词会被断开(IE下也是)。

目前主要的问题存在于 长串英文 和 英文单词被断开。其实长串英文就是一个比较长的单词而已。即英文单词应不应该被断开那?那问题很明显了,显然不应该被断开了。对于长串英文,就是恶意的东西,自然不用去管了。但是,也要想些办法,不让它把容器撑大。

用:overflow:auto; IE下,长串会自动折行。FireFox下,长串会被遮盖。

所以,综上,最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;。

word-wrap:break-word;overflow:auto;在IE下没有任何问题。在FireFox下,长串会被遮住部分内容。
fhjzgsy 2010-01-12
  • 打赏
  • 举报
回复
把他显示在可以多行的文本框里就可以自动换行,文本里面设置固定宽度
Dream_Hunter_ 2010-01-12
  • 打赏
  • 举报
回复
不知道怎么解决。帮顶
qqzeng-ip 2010-01-12
  • 打赏
  • 举报
回复
this.GridView1.Rows[i].Cells[1].Style.Add("word-break", "break-all");


andrewsway 2010-01-12
  • 打赏
  • 举报
回复
如果是英文,不加处理是不会自动换行的,他会认为是同一个单词没有结束

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧