网格视图大小随数据大小而变化?

时间:2012-10-11 06:04:47

标签: jquery asp.net

我正在努力寻找解决方案,

>  <asp:GridView ID="GridView1" runat="server" EnableViewState="False"
> BorderWidth="1"
>                     HorizontalAlign="Left" HeaderStyle-BackColor="#5c7990" CellPadding="4" ForeColor="#333333"
>                     AutoGenerateColumns="false" GridLines="None" DataKeyNames="ID" AutoGenerateDeleteButton="false"
>                     EmptyDataText="No records found" CssClass="GridView123" Width="90%" 
>                     OnRowCreated="GridView1_RowCreated">
>                     <HeaderStyle CssClass="GridHeader" />
>                     <FooterStyle CssClass="GridFooter" />
>                     <RowStyle CssClass="RowStyle" VerticalAlign="Top" Wrap="true" />
>                     <AlternatingRowStyle CssClass="AlternateRowStyle" VerticalAlign="Top" Wrap="true" />
>                     <Columns>
>                         <asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-Width="20%">
>                             <ItemStyle Width="20%"></ItemStyle>
>                         </asp:BoundField>                        
>                         <asp:TemplateField HeaderText="Name" ItemStyle-Width="100%" ItemStyle-Wrap="true">
>                             <ItemTemplate>
>                                 <span id="PName<%# Eval("ID") %>">
>                                     <%# Eval("Name") %></span>
>                             </ItemTemplate>
>                             <ItemStyle Wrap="True" Width="100%"></ItemStyle>
>                         </asp:TemplateField>
> 
> </columns> 
<asp:GridView>

这是我的网格视图。我的问题是gridview宽度随着不同的数据而变化。当列具有巨大的数据时,它正在扩展,当列填充小数据时,它正在缩小。

我已经将包装物应用于柱

我想要一个网格视图,它将以唯一的大小始终显示数据填充的内容。

感谢您的帮助......

3 个答案:

答案 0 :(得分:0)

那是因为你使用%宽度 - 而是使用固定宽度。确定所需的最大宽度可能需要一些反复试验。改为在CSS中设置宽度,并将一个类应用于列。

看看这个:

http://www.emadmokhtar.com/2012/07/add-elegant-style-to-asp-net-webforms-gridview-controls/

理想情况下,如果你想要干净的标记,你应该使用一个不发出表格的ListView。

答案 1 :(得分:0)

<asp:GridView ...的宽度从Width="90%"设置为Width="640",这样就可以达到640像素的标准宽度。

要强制文本变形而不增长,你还需要不要将ItemStyle-Wrap设置为true,以及以太没有它,以太将它设为false。

ItemStyle-Wrap="false"

答案 2 :(得分:0)

你有很多冗余宽度属性。您不需要在BoundField和ItemStyle中为同一列声明它。但是,我认为你遇到问题的原因是因为你设置的是120%。

我在使用HTML的无数小时内发现的是在表格列上使用百分比宽度时,不要超过100%,并且总是留下1列没有宽度。即使你将所有列加到100%宽度,我也看到表格做了奇怪的事情。我通常在除“主”列之外的所有列上定义宽度,然后使用剩余的宽度量。