0

我有一个gridview,无论它显示什么数据,我都想保留它的宽度。例如,如果有一个长度为 900 的单词(例如 abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)我希望 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;   
    }
4

2 回答 2

0

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

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

<!-- your grid here -->

</div> 

此外,您可以以像素为单位获取屏幕宽度并以百分比计算像素。假设屏幕宽度为 1000 像素,由 screen.width 返回,那么您的 90% 将是 900 像素。

在 javascript 中:

<script language="javascript" type="text/javascript">
   document.getElementById('divGrid').style.width = screen.width + "px";
</script>
于 2012-10-19T14:42:40.000 回答
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>

样本

于 2012-10-19T15:37:30.490 回答