2012-11-02 255 views
0

我在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> 

你能幫助我嗎?

+0

嘗試 [我如何給我的GridView中的每個列的固定大小](http://stackoverflow.com/questions/6088117/how-can-i-give-fixed-size-for-each-columns在我的網格視圖) 或 [如何使一個最大大小設置爲包含DIV的GridView](http://stackoverflow.com/questions/8067721/how-to-make-a-gridview- with-maxmimum-size-set-to-the-contained-div) – Jendrik

回答

0

由於Gridview使用的是固定寬度(991px),因此列會隨着內容變大而收縮/調整。你可以做的一件事是給你不想調整大小的列(固定寬度)固定寬度。例如

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

您也可以增加GridView控件的大小來適應容易列如將其設置爲100%如果容器大於991px

0

是這可能與在單元中的數據做太長時間沒有空格..你可以隨時使用

td{word-wrap:break-word;} 

,或者確保您有空格。

,甚至使用樣式列,即設置寬度明確

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

甚至

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

,當然也可能是無關的與此有關。

+0

我在哪裏使用'td {word-wrap:break-word;}'? – Lahib

+0

在您的樣式表中,或在在您的頁面的頭部 – nat

+0

我收到一個錯誤,指出word-wrap不是已知的CSS屬性名稱 – Lahib