大家关注一下,datagrid显示的换行问题?

jokegg 2003-10-19 06:15:40
留言用文本框输入,用datagrid显示,如果文本框输入的时候没有进行回车分行,datagrid显示的时候没有分行的那些就会放在同一行中,这个框就会变得很长,有没有什么方法使得在datagrid中按照固定的长度进行显示,保持datagrid的形状?

skyover说用下面的方法可以做到,但是这个怎么用,在datagrid的属性中加不进去
style="word-break: keep-all"
加到Attributes中去。
...全文
41 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jokegg 2003-10-19
  • 打赏
  • 举报
回复
qiuyi老兄,OK了,我现在结贴。
qiuji 2003-10-19
  • 打赏
  • 举报
回复
整理一下:
在<ASP:DataGrid id="dgCommentTable"....
中添加style="word-break:break-all"就可以了。

把你的style="word-break: keep-all"改成style="word-break:break-all"

另外,Width="90%"不要修改,在各列中也不要添加style="word-break:break-all"
qiuji 2003-10-19
  • 打赏
  • 举报
回复
还有,应该是
style="word-break:break-all"
你怎么写成了:
style="word-break: keep-all"?
qiuji 2003-10-19
  • 打赏
  • 举报
回复
我试了一下,还是用一开始的方法是可以的:
<asp:datagrid id="DataGrid1" runat="server" style="word-break:break-all">
修改你的Width="90%"
为Width="600"(即用象素表示)
jokegg 2003-10-19
  • 打赏
  • 举报
回复
秋季老兄,在列中没有 style这个属性,那怎么设置呢?
qiuji 2003-10-19
  • 打赏
  • 举报
回复
在每个列中也设置一下,例如:
<asp:BoundColumn DataField="评论内容" Visible="true" HeaderText="评论内容" ReadOnly="True" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="70%" style="word-break:break-all"/>
ddangerous169 2003-10-19
  • 打赏
  • 举报
回复
dataGrid1.attribue.add("style","word-break:break-all")不知是不是这样呀
jokegg 2003-10-19
  • 打赏
  • 举报
回复
qiuji老兄,我给datagrid设定了宽度,另外给各列设定了宽度,并且加入 style="word-break:break-all" ,但是显示的时候还是老样子,代码我贴出来,有问题吗?
<ASP:DataGrid id="dgCommentTable" DataKeyField="评论ID" runat="server" Width="90%" Font-Size="8pt" Font-Name="Trebuchet MS" BackColor="beige" AlternatingItemStyle-BackColor="cornsilk" BorderColor="black" CellPadding="3" OnDeleteCommand="dgCommentTable_Delete" ForeColor="Black" AutoGenerateColumns="False" style="word-break: keep-all" HeaderStyle-BackColor="burlywood" HeaderStyle-Font-Bold="True" CellSpacing="0">
<Columns>
<asp:ButtonColumn HeaderText="删除" Text="<img src=delete.gif border=0 align=absmiddle alt='Edit this item'< id="de" onclick="javascript:return confirm('确定删除这条记录吗?')">" CommandName="Delete" ItemStyle-HorizontalAlign="Center"HeaderStyle-HorizontalAlign="Center"></asp:ButtonColumn>
<asp:BoundColumn DataField="评论ID" Visible="false" HeaderText="评论ID" ReadOnly="True" HeaderStyle-HorizontalAlign="Center" />
<asp:BoundColumn DataField="评论内容" Visible="true" HeaderText="评论内容" ReadOnly="True" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="70%"/>
<asp:BoundColumn DataField="评论人" Visible="true" HeaderText="评论人" ReadOnly="True" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="10%" />
<asp:BoundColumn DataField="发文时间" Visible="true" HeaderText="发文时间" ReadOnly="True" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="20%" />
</Columns>
</ASP:DataGrid>
qiuji 2003-10-19
  • 打赏
  • 举报
回复
>>>>如果文本框输入的时候没有进行回车分行,datagrid显示的时候没有分行的那些就会放在同一行中,这个框就会变得很长

是不是你的DataGrid以及它的各列没有设置宽度?
或者你的输入不正确,例如:输入一大串连续的英文字母,这样肯定不会换行的。
如果你正常输入的话(除了输入一大串连续的英文字母),而且设置了DataGrid及其各列的宽度的话,肯定是会换行的。

如果,你一定要处理“输入一大串连续的英文字母”这样的问题,可以这样:
<asp:datagrid id="DataGrid1" runat="server" style="word-break:break-all">
不过,这样会产生一个小问题,就是当一行达到那个宽度时,无论什么单词都会可能从中间断开换行。

62,040

社区成员

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

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

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

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