无论Asp.net是什么,Gridview都能保留宽度

时间:2012-10-19 14:36:35

标签: asp.net vb.net gridview column-width

我有一个gridview,我想保留它的宽度,无论它显示什么数据。例如,如果有一个字以900(例如abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)的长度我想gridview的在一个新行,而不是扩大其宽度显示(girdview宽度是700)。例如,像stackoverfolw一样,它很好地显示了我的示例单词。这个文本框没有应该扩大,不是吗?

我目前的代码无法完成这项工作。谢谢。有什么帮助吗?

我的代码。

    <asp:GridView ID="gv" runat="server" CssClass="gv" AutoGenerateColumns="False" Width="700px">
    <Columns>
        <asp:BoundField DataField="" HeaderText="" 
            dataformatstring="{0:dd-MM-yyyy}" HtmlEncode="false" SortExpression="" >
    <ControlStyle Width="100" />
    <HeaderStyle Width="100" />
    <ItemStyle Width="100" />
    </asp:BoundField>

    .gv th
    {
        width: 100px;   
    }

2 个答案:

答案 0 :(得分:0)

以像素为单位给出包含网格的div的宽度,而不是百分比

<div id="divGrid" style='position:absolute; width:800px;'>

<!-- your grid here -->

</div> 

此外,您可以在像素中获取屏幕宽度并以百分比计算像素。假设屏幕宽度为1000像素,则返回screen.width然后你90%将是900px。

在javascript中:

<script language="javascript" type="text/javascript">
   document.getElementById('divGrid').style.width = screen.width + "px";
</script>

答案 1 :(得分:0)

这对我有用

.my-text
{
    float:left;
    overflow-y:auto;
    overflow-x:auto;
    word-break:break-all;
}

在模板字段

 <asp:TemplateField>
 <ItemTemplate>
     <asp:Label ID="Label1" runat="server" CssClass="my-text"
                Text='<%# Bind("YourColumnName")' 
                ></asp:Label>

 </ItemTemplate>
</asp:TemplateField>

Sample