Gridview wordwrap

时间:2009-05-26 20:43:29

标签: .net asp.net vb.net visual-studio-2008 gridview

我尝试更改网格中的RowStyle Wrap属性和每个Wrap属性。无论Row的文本长度是多少,我如何在Gridview中停止自动换行?

4 个答案:

答案 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;
}