0

我正在解决这个问题以获得解决方案,

>  <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 宽度随着不同的数据而变化。当列有大量数据时,它正在扩展,而当列中充满小数据时,它正在缩小。

我也将包装物应用于列

我想要一个网格视图,无论填充什么数据,它都会以唯一的大小一致地显示。

感谢你的帮助...

4

3 回答 3

0

那是因为您使用的是 % width - 请改用固定宽度。确定所需的最大宽度可能需要一些试验和错误。改为在 CSS 中设置宽度并将类应用于列。

看看这个:

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

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

于 2012-10-11T06:06:41.960 回答
0

将宽度设置为<asp:GridView ...Width="90%"Width="640",这使其成为 640 像素的标准宽度。

要强制文本扭曲而不增长,您还需要不必将 设置ItemStyle-Wrap为 true,ether 没有它,ether 将它设置为 false。

ItemStyle-Wrap="false"

于 2012-10-11T06:23:01.673 回答
0

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

在我无数小时使用 HTML 的过程中,我发现在表格列上使用百分比宽度时,不要超过 100%,并且总是留下 1 列没有宽度。即使您将所有列加起来为 100% 宽度,我也看到表格会做一些奇怪的事情。我通常在除“主”列之外的所有列上定义宽度,并让它占据剩余的宽度。

于 2012-10-11T06:24:54.023 回答