日期:2014-05-17  浏览次数:20561 次

GridView的对齐问题
我有两个GridView。
GridView1只有表头,有一行空数据,这行空数据隐藏,显示时只有表头的效果。
GridView2隐藏表头(ShowHeader="false"),绑定数据,目的是为了实现固定表头,表体滚动的效果。


当我想通过隐藏指定的列时(同时隐藏两个GridView的某几列),结果出现错位问题。
怎样控制样式使两个GridView对齐。


这是我的代码
C# code

//这个是用做表头用
 <asp:Panel ID="PanelHeader2" runat="server">    
         <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" 
             Height="22px" Width="732px" onrowdatabound="GridView3_RowDataBound">
             <Columns>
                 <asp:BoundField  HeaderText="编号" />
                 <asp:BoundField  HeaderText="姓名"  />
                 <asp:BoundField  HeaderText="性别"  />
                 <asp:BoundField  HeaderText="类别" />
                 <asp:BoundField  HeaderText="年级"  />
                 <asp:BoundField  HeaderText="班级"  />
                 <asp:BoundField  HeaderText="学位类型" />
                 <asp:BoundField  HeaderText="加入时间" />
                 <asp:BoundField  HeaderText="退出时间" />
                 <asp:BoundField  HeaderText="工作地点" />
             </Columns>
         </asp:GridView>
</asp:Panel>
//这个是用做表体用
 <asp:Panel ID="Panel1" runat="server" Height="363px" ScrollBars="Auto">
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
                  ShowHeader="false"  DataKeyNames="编号" Height="120px" 
                onpageindexchanging="GridView1_PageIndexChanging" 
                onrowdatabound="GridView1_RowDataBound" PageSize="12" Visible="False" 
                Width="732px">
                <Columns>
                    <asp:BoundField HeaderText="编号"  />
                    <asp:TemplateField HeaderText="姓名" >
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:HyperLink ID="HyperLink1" runat="server" 
                                NavigateUrl='<%#String.Format("~/Pages/Introduction/IntroStudentDetail.aspx?numberid={0}&category={1}",Eval("编号"),Eval("类别")) %>' 
                                Text='<%# Eval("姓名") %>'></asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="性别">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("性别") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="类别" HeaderText="类别" />
                    <asp:BoundField DataField="年级" HeaderText="年级" />
                    <asp:BoundField DataField="班级" HeaderText="班级" />
                    <asp:BoundField DataField="学位类型" HeaderText="学位类型"