我尝试更改网格中的RowStyle Wrap属性和每个Wrap属性。无论Row的文本长度是多少,我如何在Gridview中停止自动换行?
答案 0 :(得分:9)
这不是RowStyle。您需要在列下设置单个项目的换行设置。
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField>
<ItemStyle Wrap="False" />
</asp:BoundField>
<asp:BoundField>
<ItemStyle Wrap="False" />
</asp:BoundField>
</Columns>
</asp:GridView>
这需要针对每个列进行。您可以在代码隐藏中设置一个方法来为您完成。
答案 1 :(得分:1)
杰森在this blog post写道:
从数据库加载长文本时,我遇到了与Gridview相同的问题。我尝试使用DIV方法来使用CSS样式来阻止表格一直向右扩展。我现在用elipsis显示文本是否太长了。但是,这意味着我无法在gridview中显示整个文本,这可能会误导用户。
所以我添加了另一种名为“word-break:break-all”的样式,将文本分成适合表格的块并获得我想要的结果。以下是我的代码的部分:
<style type="text/css">
.DisplayDesc { width:500px; word-break: break-all; }
.DisplayDiv { width:500px; OVERFLOW:hidden; TEXT-OVERFLOW:ellipsis;}
</style>
<asp:TemplateField HeaderText="Log Description">
<ItemStyle Font-Names="Tahoma" Font-Size="X-Small"
HorizontalAlign="Left" Wrap="True" />
<ItemTemplate>
<div class="DisplayDiv">
<asp:Label CssClass="DisplayDesc" ID="Label1" runat="server"
Text='<%# Bind("TransText") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
答案 2 :(得分:0)
只需将nowrap设置为css类,然后将该类应用于span标记,并将您的标签放入span标记内,
span class =“yourclassname”你的asp标签/ span
答案 3 :(得分:0)
这对我有用
<asp:GridView ID="SomeGridView" CssClass="gridtext" >
.gridtext
{
white-space: nowrap;
}
.gridtext table
{
white-space: nowrap;
}
.gridtext tr
{
white-space: nowrap;
}
.gridtext td
{
white-space: nowrap;
}
.gridtext th
{
white-space: nowrap;
}