簡體   English   中英

如何在網格視圖中設置 TemplateField 列的寬度?

[英]How to set the width of TemplateField column in Grid view?

嗨,我正在使用 c# 和 asp.net 開發一個網站。 但是我的網格視圖僅在一頁上顯示不正確。 我是否使用相同的 css 類,但輸出仍然很奇怪。

這是我得到的輸出:

在此處輸入圖片說明

這是我的網格設計視圖代碼:

     <div style="width: 800px; align-content: center;">

    <asp:GridView ID="gvMv" runat="server" AutoGenerateColumns="False" width="400px"
        OnRowDataBound="gvMv_RowDataBound" CssClass="Grid" ShowFooter="True">
        <FooterStyle Height="25" />
        <RowStyle />
        <PagerStyle />
        <HeaderStyle />
        <Columns>
            <asp:BoundField DataField="day" HeaderText="Day" HeaderStyle-Width="150" ItemStyle-Height="25" HeaderStyle-Height="30">

                <HeaderStyle Height="30px" Width="150px"></HeaderStyle>

                <ItemStyle Height="25px"></ItemStyle>

            </asp:BoundField>
            <asp:TemplateField HeaderText="0.30"></asp:TemplateField>

            <asp:TemplateField HeaderText="1.00"></asp:TemplateField>
            <asp:TemplateField HeaderText="2.00"></asp:TemplateField>
            <asp:TemplateField HeaderText="2.50"></asp:TemplateField>

            <asp:TemplateField HeaderText="4.00"></asp:TemplateField>
            <asp:TemplateField HeaderText="5.00"></asp:TemplateField>

            <asp:TemplateField HeaderText="1.50"></asp:TemplateField>
            <asp:TemplateField HeaderText="Total" ItemStyle-ForeColor="#0099FF">
                <ItemStyle ForeColor="#0099FF"></ItemStyle>
            </asp:TemplateField>


        </Columns>
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" Font-Size="Smaller" />
        <RowStyle CssClass="rSty" BackColor="#F7F7DE" />
        <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="true" ForeColor="White" />
        <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
        <HeaderStyle CssClass="hSty" BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="White" />
    </asp:GridView>

  </div>

我希望所有列的寬度相同。 任何人都可以幫我解決這個問題嗎?

謝謝你。

我有同樣的問題,這對我有用

<asp:TemplateField ItemStyle-Width="150px" HeaderText="ABC" ItemStyle-HorizontalAlign="center">
    <ItemTemplate>
     <asp:Label ID="ABC" runat="server" Text ='<%# Eval("ABC")%>' ></asp:Label>
     </ItemTemplate>
           <HeaderTemplate>
              <asp:TextBox ID="txtBusinessGroup" runat="server" onkeyup="filter_BusinessGroup(this)" CssClass="texbox_header" Width="130px" placeholder="ABC" Text="" ToolTip="TYPE IN THE ABC PLEASE"></asp:TextBox>
            </HeaderTemplate>
          <ItemStyle HorizontalAlign="Center" Width="150px" />
       </asp:TemplateField>

我在標題文本中顯示文本字段,您可以刪除它。 我改變的字段的寬度

    <ItemStyle HorizontalAlign="Center" Width="150px" /> 

或我使用的實際文本框或模板字段

 <asp:TemplateField ItemStyle-Width="150px" HeaderText="ABC" ItemStyle-HorizontalAlign="center">

我希望這對您有幫助,並且對您或其他可能最終會來到這里的人有用。

謝謝你

這是一個如何做到這一點的示例:

<asp:TemplateField HeaderText="used">
<HeaderStyle Width="100" />
<ItemStyle Width="100" />
</asp:TemplateField>

您可以使用ItemStyle為模板字段列設置屬性

``如果以上所有這些代碼都會注意到增加 gridview 標題寬度的工作,那么您可以嘗試這個也肯定會起作用。只需在 YourText putt HTML 空格標簽之后&nbsp; 你想要多少空間。

**HeaderText="YourText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"**

我也有同樣的經歷。 ItemStyle 不起作用! 使用HeaderStyle

GridView1.Columns[2].HeaderStyle.Width = 20;

嘗試使用此模板代碼:

<asp:TemplateField HeaderText="ABC">
    <ItemTemplate>
          <asp:Label ID="lblABC" runat="server" 
            Text='<%#DataBinder.Eval(Container.DataItem, "ABCId") %>'>
          </asp:Label>
    </ItemTemplate>
    <ItemStyle Width="20px" />
    <HeaderStyle  Width="20px" />
    <FooterStyle Width="20px" />                                                   
    <EditItemTemplate>
          <asp:Label ID="lblEditABC" runat="server" 
            Text='<%#DataBinder.Eval(Container.DataItem, "ABCId") %>'>
          </asp:Label>
    </EditItemTemplate>
</asp:TemplateField>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM