2012-11-02 256 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