GridView会自动重新调整自身大小

时间:2012-11-02 08:43:55

标签: asp.net .net gridview

我在asp中有一个GridView,它不断重新调整自己的大小。我能以某种方式修复GridView的大小,所以它不这样做吗?尽管GridView中的数据具有相同的长度或更小,但GridView仍在不断缩小

我的asp代码:

    <asp:GridView ID="Grid" runat="server" AllowPaging="True" PageSize="18" OnPageIndexChanging="Grid_PageIndexChanging"
            ForeColor="Black" GridLines="Both" Width="991px" Height="600px" RowStyle-HorizontalAlign="Center"
        BackColor="White" BorderColor="#999999" BorderWidth="1px" 
            AutoGenerateColumns="False" style="margin-left: 9px">
            <Columns>
                <asp:TemplateField HeaderText="RequestID">
                <ItemTemplate>
                <a target = "_blank" href="www.danx/default?request=<%# Eval("request")%>"><%# Eval("request")%></a>
                </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Barcode">
                <ItemTemplate>
                <a target = "_blank" href="www.danx/default?barcode=<%# Eval("barcode")%>"><%# Eval("barcode")%></a>
                </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="adrid" HeaderText="AdrID" SortExpression="AdrID" />
                <asp:BoundField DataField="name" HeaderText="Navn" SortExpression="Name" />
                <asp:BoundField DataField="street" HeaderText="Vej" SortExpression="Street" />
                <asp:BoundField DataField="houseno" HeaderText="Husnr" 
                    SortExpression="HouseNo" />
                <asp:BoundField DataField="postal" HeaderText="Postnr" 
                    SortExpression="Postal" />
                <asp:BoundField DataField="city" HeaderText="By" SortExpression="City" />
                <asp:BoundField DataField="country" HeaderText="Land" 
                    SortExpression="Country" />
                <asp:TemplateField HeaderText="Lokation">
                <ItemTemplate>
                <a target = "_blank" href="https://maps.google.dk/maps?q=<%# Eval("latitude")%>,<%# Eval("longitude")%>"><%# Eval("latitudetxt")%></a>
                </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="date" HeaderText="ReceivedDate" 
                    SortExpression="ReceivedDate" />

            </Columns>
            <FooterStyle BackColor="#CCCCCC" />

<RowStyle HorizontalAlign="Center"></RowStyle>

            <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#999999" ForeColor="Blue" HorizontalAlign="Center" />
            <HeaderStyle BackColor="DarkGray" Font-Bold="True" ForeColor="Black" />
            <AlternatingRowStyle BackColor="LightGray" />
            <SortedAscendingCellStyle BackColor="#F1F1F1" />
            <SortedAscendingHeaderStyle BackColor="#808080" />
            <SortedDescendingCellStyle BackColor="#CAC9C9" />
            <SortedDescendingHeaderStyle BackColor="#383838" />
</asp:GridView>

你能帮我吗?

2 个答案:

答案 0 :(得分:0)

由于您对gridview使用固定宽度(991px),因此随着内容变大,列会缩小/调整。您可以做的一件事是为您不想调整大小的列(以%或固定为单位)提供固定宽度。 e.g。

<ItemTemplate>
<a target = "_blank" href="www.danx/default?request=<%# Eval("request")%>"><%# Eval("request")%></a>
</ItemTemplate>

您还可以增加GridView的大小以轻松容纳列,例如如果容器大于991px

,则将其设置为100%

答案 1 :(得分:0)

这可能与单元格中的数据太长而没有空格有关..你可以随时使用

td{word-wrap:break-word;}

或确保你有空格。

甚至使用列的样式,明确设置宽度

<asp:TemplateField HeaderText="RequestID" HeaderStyle-CssClass="setWidthClass">
                <ItemTemplate>...

甚至

 <asp:TemplateField HeaderText="RequestID" ItemStyle-Width="100">

当然可能与此无关。