C# Gridview列未设置为输入的宽度

C# Gridview列未设置为输入的宽度,c#,asp.net,gridview,width,boundfield,C#,Asp.net,Gridview,Width,Boundfield,我有两个GridView,一个显示在另一个下面。两个gridview完全相同,与第二个gridview的唯一区别是我没有显示标题列。我尝试在两个GridView中将宽度设置为完全相同的值,但列不匹配 我已尝试在边界字段上设置宽度: <asp:BoundField DataField="Code" HeaderText="A/C" SortExpression="Code" ItemStyle-Width ="120px"></asp:BoundField> 我已尝试设置

我有两个GridView,一个显示在另一个下面。两个gridview完全相同,与第二个gridview的唯一区别是我没有显示标题列。我尝试在两个GridView中将宽度设置为完全相同的值,但列不匹配

我已尝试在边界字段上设置宽度:

<asp:BoundField DataField="Code" HeaderText="A/C" SortExpression="Code" ItemStyle-Width ="120px"></asp:BoundField>
我已尝试设置单元格的宽度:

foreach (TableRow row in gridview.Controls[0].Controls)
{
    row.Cells[0].Width = 120;
}
上述措施都没有奏效。第二个gridview宽度(图像中的最后一行)与第一个gridview显示的宽度不同

第一格:

<asp:GridView runat="server" 
                            id="gvJobsPerMonth" 
                            CssClass="tblResults" 
                            OnItemDataBound="gvJobsPerMonth_OnItemDataBound" 
                            AllowSorting="true" 
                            OnSortCommand="gvJobsPerMonth_Sort" 
                            DataKeyField="ID" 
                            AutoGenerateColumns="false" >
                        <HeaderStyle CssClass="tblResultsHeader" />
                        <AlternatingRowStyle BackColor="#EEEEEE" />

第二个网格:

    <asp:GridView runat="server" 
                                    id="gvJobsPerMonthTotals" 
                                    CssClass="tblResults"
OnItemDataBound="gvJobsPerMonthTotals_OnItemDataBound" 
                                    AllowSorting="true" 
                                    OnSortCommand="gvJobsPerMonthTotals_Sort" 
                                    DataKeyField="ID" 
                                    AutoGenerateColumns="false"
                                    ShowHeader="false" >
                                <HeaderStyle CssClass="tblResultsHeader" />
                                <AlternatingRowStyle BackColor="#EEEEEE" />

两个网格使用相同的CSS类。唯一的区别是第二个网格上的ShowHeader=“false”。但即使我将其设置为true,列仍显示为不同的宽度

请在第二个GridView中尝试以下代码: 为第二个GridView尝试以下代码:
GridView的宽度是使用ItemStyle width属性设置的

<asp:BoundField DataField="language" HeaderText="language">
  <ItemStyle Width="500px" />
</asp:BoundField>

GridView的宽度是通过ItemStyle width属性设置的

<asp:BoundField DataField="language" HeaderText="language">
  <ItemStyle Width="500px" />
</asp:BoundField>


标题中似乎有一些填充和/或边距css属性导致了这种情况。如果您拍摄屏幕截图,则标题中的文字
a/C
120或更宽。我猜它更宽。如果是这样的话,您可以通过css知道原因。@VDWWD问题已更新,以显示问题的html代码gridviews@RezaAghaei问题更新为显示GridViews的html代码请共享整个代码以重现问题。您已经共享的代码不够。如果您的ShowHeader=“false”,为什么要使用HeaderStyle?(在第二个网格中)标题中似乎有一些填充和/或边距css属性导致了这种情况。如果您拍摄屏幕截图,则标题中的文字
a/C
120或更宽。我猜它更宽。如果是这样的话,您可以通过css知道原因。@VDWWD问题已更新,以显示问题的html代码gridviews@RezaAghaei问题更新为显示GridViews的html代码请共享整个代码以重现问题。您已经共享的代码不够。如果您的ShowHeader=“false”,为什么要使用HeaderStyle?(第二格)
    </Columns>
    <RowStyle Width="120px"/>
</asp:GridView>
<asp:BoundField DataField="language" HeaderText="language">
  <ItemStyle Width="500px" />
</asp:BoundField>