задает ширину столбца в gridview в asp.net

#asp.net #aspxgridview

#asp.net #aspxgridview

Вопрос:

Я перетащил GridView из toolbox на страницу Aspx.дизайн-код выглядит следующим образом

 <asp:GridView ID="gridview1" runat="server"   style="text-align:center;width: 1327px;" 
    CellPadding="4" ForeColor="#333333" GridLines="None" AllowPaging="True" 
    EnableSortingAndPagingCallbacks="True" PageSize="50" AutoGenerateEditButton="True">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" 
        Height="12px" VerticalAlign="Bottom" Width="12px" Wrap="False" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
  

У меня есть столбец по имени Address в базе данных.Таблица привязывается к этому представлению сетки с помощью следующего VB.NET код

  Dim ds as Data.DataSet
 Dim da As New OleDbDataAdapter("select col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,Address from table, con)
        da.Fill(ds)
        gridviewrealestate.DataSource = ds
        gridviewrealestate.DataBind()
  

Теперь, когда отображается gridview, столбцы расположены очень близко друг к другу из-за большого объема информации, присутствующей в столбце адреса.Я хочу установить для столбца адреса определенную ширину.
Пожалуйста, помогите мне, как это сделать.

Ответ №1:

 <asp:GridView ID="GridView1" runat="server">
    <HeaderStyle Width="10%" />
    <RowStyle Width="10%" />
    <FooterStyle Width="10%" />
    <Columns>
        <asp:BoundField HeaderText="Name" DataField="LastName" 
            HeaderStyle-Width="10%" ItemStyle-Width="10%"
            FooterStyle-Width="10%" />
    </Columns>
</asp:GridView>
  

Ответ №2:

Я знаю, что это старый вопрос, но он возник, когда я искал решение той же проблемы, поэтому я подумал, что опубликую то, что сработало для меня.

 <asp:BoundField DataField="Description" HeaderText="Bond Event" ItemStyle-Width="300px" />
  

Я использовал ItemStyle-Width атрибут на своем BoundField , и он работал очень хорошо, у меня пока не было никаких проблем.

Мне также не нужно было ничего добавлять к остальной части кода, чтобы заставить это работать.

Ответ №3:

Задает ширину

HeaderStyle-width

например, HeaderStyle-width=»10%»

Ответ №4:

Это то, что сработало для меня. установите HeaderStyle-Width=»5%», в нижнем колонтитуле установите ширину текстового поля Width=»15″, также установите ширину вашего gridview равной 100%. ниже приведен столбец моего gridview.

     <asp:TemplateField   HeaderText = "sub" HeaderStyle-ForeColor="White" HeaderStyle-Width="5%">
<ItemTemplate>
    <asp:Label ID="sub" runat="server" Font-Size="small" Text='<%# Eval("sub")%>'></asp:Label>
</ItemTemplate> 
 <EditItemTemplate>
    <asp:TextBox ID="txt_sub" runat="server" Text='<%# Eval("sub")%>'></asp:TextBox>
</EditItemTemplate> 
<FooterTemplate>
    <asp:TextBox ID="txt_sub" runat="server" Width="15"></asp:TextBox>
</FooterTemplate>
  

Ответ №5:

Вам нужно преобразовать столбец в ‘TemplateField’.

В режиме конструктора щелкните смарт-тег GridView, выберите-> «Редактировать столбцы». Выберите столбец, который вы хотите изменить, и нажмите гиперссылку, преобразующую его в шаблон. Смотрите скриншот: Преобразование столбца в шаблон.

Примечание: Изменение вашего источника данных может привести к повторному созданию столбцов, поэтому могут быть внесены изменения в столбцы вашего шаблона.

Ссылка:https://msdn.microsoft.com/en-us/library/bb288032.aspx

Ответ №6:

Добавьте HeaderStyle-Width и ItemStyle-width в поля шаблонов

  <asp:GridView ID="grdCanceled" runat="server" AutoGenerateColumns="false" OnPageIndexChanging="grdCanceled_PageIndexChanging"  AllowPaging="true" PageSize="15"
         CssClass="table table-condensed table-striped table-bordered" GridLines="None">
             <HeaderStyle BackColor="#00BCD4"  ForeColor="White" />
             <PagerStyle CssClass="pagination-ys" />
               <Columns>
            <asp:TemplateField HeaderText="Mobile NO" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                <ItemTemplate>
                  <%#Eval("mobile") %>
                </ItemTemplate>
               </asp:TemplateField>
           <asp:TemplateField HeaderText="Name" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                <ItemTemplate>
                    <%#Eval("name") %>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="City" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                <ItemTemplate>
                    <%#Eval("city") %>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Reason" HeaderStyle-Width="25%" ItemStyle-Width="25%">
                 <ItemTemplate>
                    <%#Eval("reson") %>
                 </ItemTemplate>
             </asp:TemplateField>
             <asp:TemplateField HeaderText="Agent" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                 <ItemTemplate>
                     <%#Eval("Agent") %>
                 </ItemTemplate>
             </asp:TemplateField>
             <asp:TemplateField HeaderText="Date" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                 <ItemTemplate>
                   <%#Eval("date","{0:dd-MMM-yy}") %>
                 </ItemTemplate>
              </asp:TemplateField>
              <asp:TemplateField HeaderText="DList" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                  <ItemTemplate>
                      <%#Eval("service") %>
                  </ItemTemplate>
              </asp:TemplateField>
              <asp:TemplateField HeaderText="EndDate" HeaderStyle-Width="10%" ItemStyle-Width="10%">
                  <ItemTemplate>
                      <%#Eval("endDate","{0:dd-MMM-yy}") %>
                  </ItemTemplate>
              </asp:TemplateField>
              <asp:TemplateField HeaderStyle-Width="5%" ItemStyle-Width="5%">
                  <ItemTemplate>
                       <asp:CheckBox data-needed='<%#Eval("userId") %>' ID="chkChecked" runat="server" />
                   </ItemTemplate>
               </asp:TemplateField>
             </Columns>
          </asp:GridView>
  

Ответ №7:

Есть два шага:

  1. Вы должны установить соответствующую ширину для GridView следующим образом: Width=»2000px».
  2. Вы можете задать ширину столбца, установив [ItemStyle-Width] Вот так: ItemStyle-Width=»300px».

** Вы можете задать ширину, установив фиксированные пиксели, например «150 пикселей», или в процентах, например «10%».

Ответ №8:

 <asp:BoundField DataField="ElementName" HeaderText="RBI GL Name" ItemStyle-Horizontal ItemStyle-Width="50px" HeaderStyle-Width="50px"/> 
  

Комментарии:

1. Спасибо за этот фрагмент кода, который может оказать некоторую ограниченную, немедленную помощь. Правильное объяснение значительно повысило бы его долгосрочную ценность, показав, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей с другими похожими вопросами. Пожалуйста, отредактируйте свой ответ, чтобы добавить некоторые пояснения, включая сделанные вами предположения.