在gridview中设置修复列宽度,如果内容大于列宽,则打破单词

时间:2011-10-17 05:38:42

标签: c# asp.net gridview

我一直在使用Gridview来显示data.i使用Itemstyle设置每列的宽度,但问题是如果该列的内容大于列宽,那么它会自动增加列宽但我想要打破如果内容大于列宽,那么这个词...... plz帮助我......

2 个答案:

答案 0 :(得分:3)

编辑:经过调查后发现,如果我们使用span并将'word-wrap:break-word'属性添加到样式中,那么它代替div就可以了。以下是示例:http://jsfiddle.net/amantur/UYAb7/

PS: - 但请注意,所有浏览器和版本可能都不支持word-wrap:break-word。如果这会产生问题,我建议您编写一个函数,该函数接收href和链接文本,并创建一个前几个字符的链接+ ...并使用title属性将完整单词设置为工具提示anchor元素:

public static string CreateLink(string url, string text){
    var linkText=text.Length>10?text.SubString(0,10) + "...":text;
    return string.Format("<a href=\"{0}\" title=\"{1}\">{2}</a>", 
                         url,text,linkText);
}

<击> 您可以在span元素中添加内部内容,并将其max-width属性设置为列的宽度。

示例:

<Column>
    <ItemStyle Width="100" />
    <span style="max-width:100px;">
       <a href="http://google.com">Google It</a>
    </span>
</Column>

<击>

答案 1 :(得分:0)

CSS样式“ overflow-wrap:break-word;”即使在单元格内容中没有空格的情况下,也将强制执行中断操作,因此应执行以下操作:

    <style>
        .bigcols td {
            max-width:410px;
            overflow-wrap:break-word;
        }
    </style>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CssClass="bigcols" DataSourceID="SqlDataSource1">
    ....

应该做到这一点。