Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在网格视图中设置TemplateField列的宽度?_C#_Asp.net_Css_Gridview - Fatal编程技术网

C# 如何在网格视图中设置TemplateField列的宽度?

C# 如何在网格视图中设置TemplateField列的宽度?,c#,asp.net,css,gridview,C#,Asp.net,Css,Gridview,嗨,我正在用c#和asp.net开发一个网站。但我的网格视图仅在一个页面上无法正确显示。无论我使用的是同一个css类,但输出仍然是奇怪的 以下是我得到的输出: 以下是我的网格设计视图代码: <div style="width: 800px; align-content: center;"> <asp:GridView ID="gvMv" runat="server" AutoGenerateColumns="False" width="400px"

嗨,我正在用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 HeaderText="used">
<HeaderStyle Width="100" />
<ItemStyle Width="100" />
</asp:TemplateField>


您可以使用ItemStyle为模板字段列设置属性

我也遇到过同样的问题,这对我来说很有用

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

我正在headertext中显示您可以删除的文本字段。 我从中更改的字段的宽度

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

或im使用的实际文本框或templatefield

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

我希望这对你有帮助,对你或任何可能最终来到这里的人都有用


谢谢你

``如果以上所有代码都能增加gridview标题的宽度,那么你可以试试这一个,它肯定也会起作用。只需在你的文本中放入HTML空格标记,即
你想要多少空间

**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>

这对我不起作用,大小没有变化,我甚至有一个css文件。CssFieldInvisible{visibility:hidden;width:0px;}但只有visibility有效!!