首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >冻结Gridview页眉

冻结Gridview页眉
EN

Stack Overflow用户
提问于 2020-10-10 05:43:58
回答 1查看 40关注 0票数 0

我想在顶部冻结标题,因为我有超过9000行。我试过“修复”,但看起来不是最好的。它被固定在滚动上,但看起来像是漂浮在适当的地方。我该怎么做才能把顶部冻起来呢?我尝试了css样式,但它也没有冻结标题。如果我可以冻结页眉,下一步就是冻结屏幕上的页脚,这样就可以创建新的条目,而不必转到9000行的底部。

代码语言:javascript
运行
复制
<asp:GridView id="myGridView" runat="server" AutoGenerateColumns="False" 
    CssClass="Grid"
    Overflow="auto"    
    AllowSorting="False" 
    CellPadding="4" 
    ForeColor="#333333" 
    GridLines="None"
    ShowFooter="True"
    DataKeyNames="RMANumber"  width="99%">
    <AlternatingRowStyle BackColor="LightGray" />
    <Columns>

    <asp:TemplateField HeaderText="RMA Number"  HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left">
        <ItemTemplate>
            <asp:Label id="lblRMANumber" runat="server" ReadOnly="false" Text='<%# DataBinder.Eval(Container, "DataItem.RMANumber") %>'></asp:Label>
        </ItemTemplate>
        <EditItemTemplate>
            <asp:TextBox id="txtEditRMANumber" size="16" runat="server" ReadOnly="false" Text='<%# DataBinder.Eval(Container, "DataItem.RMANumber") %>'></asp:TextBox>
        </EditItemTemplate>
        <FooterTemplate>
            <asp:TextBox id="txtAddRMANumber" size="16" runat="server"></asp:TextBox>
        </FooterTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Decon Form? Y/N" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left">
        <ItemTemplate>
            <asp:Label id="lblDeconForm" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.DeconForm") %>'></asp:Label>
        </ItemTemplate>
        <EditItemTemplate>
            <asp:TextBox id="txtEditDeconForm" size="16" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.DeconForm") %>'></asp:TextBox>
        </EditItemTemplate>
        <FooterTemplate>
            <asp:TextBox id="txtAddDeconForm" size="16" runat="server"></asp:TextBox>
        </FooterTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Customer" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left">
        <ItemTemplate>
            <asp:Label id="lblCustomer" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Customer") %>'></asp:Label>
        </ItemTemplate>
        <EditItemTemplate>
            <asp:TextBox id="txtEditCustomer" size="16" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Customer") %>'></asp:TextBox>
        </EditItemTemplate>
        <FooterTemplate>
            <asp:TextBox id="txtAddCustomer" size="16" runat="server"></asp:TextBox>
        </FooterTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Problem / Solution Found" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left">
        <ItemTemplate>
            <asp:Label id="lblProblemSolutionFound" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ProblemSolutionFound") %>'></asp:Label>
        </ItemTemplate>
        <EditItemTemplate>
            <asp:TextBox id="txtEditProblemSolutionFound" size="16" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ProblemSolutionFound") %>'></asp:TextBox>
        </EditItemTemplate>
        <FooterTemplate>
            <asp:TextBox id="txtAddProblemSolutionFound" size="16" runat="server"></asp:TextBox>
            <asp:Button id="btnAdd" runat="server" Text="Add" CommandName="Add" AutoPostBack="False"  ></asp:Button>
        </FooterTemplate>
    </asp:TemplateField>

    <asp:CommandField ShowEditButton="True" CancelText="Cancel" DeleteText="Delete" EditText="Edit" UpdateText="Update" HeaderText="Modify" 
        ShowDeleteButton="False" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left" 
        ButtonType="Image" CancelImageUrl="Images/Cancel.png" EditImageUrl="Images/Edit.png" UpdateImageUrl="Images/Update.png" ControlStyle-Width="60" ControlStyle-Height="20"/>
 
        <asp:TemplateField HeaderText="Delete" ShowHeader="true" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left" >
                <ItemTemplate>
                        <asp:ImageButton ID="DeleteButton" runat="server" ImageUrl="Images/Delete.png" Width="60" Height="20" VerticalAlign="Center"
                            CommandName="Delete"
                            AlternateText="Delete"  />
                </ItemTemplate>
        </asp:TemplateField>

    </Columns>

                <EditRowStyle BackColor="#ADD8E6" />
                <FooterStyle BackColor="#ADD8E6" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#EFF3FB" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#F5F7FB" />
                <SortedAscendingHeaderStyle BackColor="#6D95E1" />
                <SortedDescendingCellStyle BackColor="#E9EBEF" />
                <SortedDescendingHeaderStyle BackColor="#4870BE" />

</asp:GridView>
EN

回答 1

Stack Overflow用户

发布于 2020-10-22 20:42:18

为了保持头部在顶部,我使用了一个脚本来复制头部,并将其放入自己的容器中。但我仍然有问题的页脚是可见的。我决定在新页面中创建一个创建按钮,而不是处理页脚。对于用户来说,在表单中输入数据要比在网格视图页脚中输入数据简洁得多。以同样的方式,我使用编辑记录按钮在新页面中打开记录以更新/编辑它。我还让gridview页面按desc排序,以便只看到最新的RMA,删除了重复的头脚本,并使用了分页。没有理由查看所有记录,只查看最近的记录。

代码语言:javascript
运行
复制
            <asp:GridView ID="GridView1" runat="server" 
            AllowPaging="True"
            PageSize="10"
            AllowSorting="True" 
            AutoGenerateColumns="False" 
            DataKeyNames="RMANumber" 
            CellPadding="1" 
            ForeColor="#333333"
            DataSourceID="SqlDataSource1">
            <AlternatingRowStyle BackColor="LightGray" />
            <Columns>               
                <asp:CommandField ShowDeleteButton="False" ShowEditButton="True" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left" 
                    ButtonType="Image" CancelImageUrl="Images/Cancel.png" 
                    EditImageUrl="Images/Edit.png" UpdateImageUrl="Images/Update.png" 
                    ControlStyle-Width="60" ControlStyle-Height="20">
                <ControlStyle Height="20px" Width="60px"></ControlStyle>

                <HeaderStyle HorizontalAlign="Left" VerticalAlign="Middle"></HeaderStyle>
                </asp:CommandField>
                <asp:Boundfield DataField="RMANumber" HeaderText="RMA Number" ReadOnly="True" SortExpression="RMANumber" > <ItemStyle Width="5%" /> </asp:Boundfield>
                <asp:BoundField DataField="DconForm" HeaderText="Dcon Form" SortExpression="DconForm" > <ItemStyle Width="3%" /> </asp:BoundField>
                <asp:BoundField DataField="Customer" HeaderText="Customer" SortExpression="Customer" > <ItemStyle Width="10%" /> </asp:BoundField>
                <asp:BoundField DataField="ItemBeingReturned" HeaderText="Item(s) Being Returned" SortExpression="ItemBeingReturned" > <ItemStyle Width="10%" /> </asp:BoundField>
                <asp:BoundField DataField="ReasonForReturn" HeaderText="Reason For Return" SortExpression="ReasonForReturn" > <ItemStyle Width="15%" /> </asp:BoundField> 
                <asp:BoundField DataField="Dia" HeaderText="Dia" SortExpression="Dia" > <ItemStyle Width="7%" /> </asp:BoundField> 
                <asp:BoundField DataField="RMADate" HeaderText="RMA Date" SortExpression="RMADate" > <ItemStyle Width="5%" /> </asp:BoundField> 
                <asp:BoundField DataField="ReturnedDate" HeaderText="Returned Date" SortExpression="ReturnedDate" > <ItemStyle Width="5%" /> </asp:BoundField>
                <asp:BoundField DataField="DateShipped" HeaderText="Date Shipped" SortExpression="DateShipped" > <ItemStyle Width="5%" /> </asp:BoundField>
                <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" > <ItemStyle Width="5%" /> </asp:BoundField>
                <asp:BoundField DataField="PIKEContact" HeaderText="PIKE Contact" SortExpression="PIKEContact" > <ItemStyle Width="7%" /> </asp:BoundField>
                <asp:BoundField DataField="DiamondResults" HeaderText="Diamond Results" SortExpression="DiamondResults" > <ItemStyle Width="5%" /> </asp:BoundField>
                <asp:BoundField DataField="ProblemSolutionFound" HeaderText="Problem / Solution Found" SortExpression="ProblemSolutionFound" > <ItemStyle Width="15%" /> </asp:BoundField>
                

           
                
                <asp:TemplateField HeaderText="" ShowHeader="true" HeaderStyle-VerticalAlign="Middle"  HeaderStyle-HorizontalAlign="Left" >
                    <ItemTemplate>
                    <asp:ImageButton ID="DeleteButton" runat="server" ImageUrl="Images/Delete.png" Width="60" Height="20" VerticalAlign="Center"
                        CommandName="Delete"
                        AlternateText="Delete"  />
                    </ItemTemplate>

            <HeaderStyle HorizontalAlign="Left" VerticalAlign="Middle"></HeaderStyle>
                </asp:TemplateField>
            </Columns>
            <EditRowStyle BackColor="#ADD8E6" />
            <FooterStyle BackColor="#ADD8E6" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#EFF3FB" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#F5F7FB" />
            <SortedAscendingHeaderStyle BackColor="#6D95E1" />
            <SortedDescendingCellStyle BackColor="#E9EBEF" />
            <SortedDescendingHeaderStyle BackColor="#4870BE" />

        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:PIKE_Intranet_DBConnectionString %>" 
            DeleteCommand="DELETE FROM [RMATable] WHERE [RMANumber] = @RMANumber" 
            InsertCommand="INSERT INTO [RMATable] ([RMANumber], [DconForm], [Customer], [ItemBeingReturned], [ReasonForReturn], [Dia], [RMADate], [ReturnedDate], [DateShipped], [Status], [PIKEContact], [DiamondResults], [ProblemSolutionFound]) VALUES (@RMANumber, @DconForm, @Customer, @ItemBeingReturned, @ReasonForReturn, @Dia, @RMADate, @ReturnedDate, @DateShipped, @Status, @PIKEContact, @DiamondResults, @ProblemSolutionFound)" 
            SelectCommand="SELECT * FROM [RMATable] ORDER BY [RMANumber] DESC" 
            UpdateCommand="UPDATE [RMATable] SET [DconForm] = @DconForm, [Customer] = @Customer, [ItemBeingReturned] = @ItemBeingReturned, [ReasonForReturn] = @ReasonForReturn, [Dia] = @Dia, [RMADate] = @RMADate, [ReturnedDate] = @ReturnedDate, [DateShipped] = @DateShipped, [Status] = @Status, [PIKEContact] = @PIKEContact, [DiamondResults] = @DiamondResults, [ProblemSolutionFound] = @ProblemSolutionFound WHERE [RMANumber] = @RMANumber">
            <DeleteParameters>
                <asp:Parameter Name="RMANumber" Type="String" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="RMANumber" Type="String" />
                <asp:Parameter Name="DconForm" Type="String" />
                <asp:Parameter Name="Customer" Type="String" />
                <asp:Parameter Name="ItemBeingReturned" Type="String" />
                <asp:Parameter Name="ReasonForReturn" Type="String" />
                <asp:Parameter Name="Dia" Type="String" />
                <asp:Parameter Name="RMADate" Type="String" />
                <asp:Parameter Name="ReturnedDate" Type="String" />
                <asp:Parameter Name="DateShipped" Type="String" />
                <asp:Parameter Name="Status" Type="String" />
                <asp:Parameter Name="PIKEContact" Type="String" />
                <asp:Parameter Name="DiamondResults" Type="String" />
                <asp:Parameter Name="ProblemSolutionFound" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="DconForm" Type="String" />
                <asp:Parameter Name="Customer" Type="String" />
                <asp:Parameter Name="ItemBeingReturned" Type="String" />
                <asp:Parameter Name="ReasonForReturn" Type="String" />
                <asp:Parameter Name="Dia" Type="String" />
                <asp:Parameter Name="RMADate" Type="String" />
                <asp:Parameter Name="ReturnedDate" Type="String" />
                <asp:Parameter Name="DateShipped" Type="String" />
                <asp:Parameter Name="Status" Type="String" />
                <asp:Parameter Name="PIKEContact" Type="String" />
                <asp:Parameter Name="DiamondResults" Type="String" />
                <asp:Parameter Name="ProblemSolutionFound" Type="String" />
                <asp:Parameter Name="RMANumber" Type="String" />
            </UpdateParameters>
        </asp:SqlDataSource>
        <br />
    </div>
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64287690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档