asp.net 冻结标题,滚动GridView

jhdbpxl9  于 2022-12-30  发布在  .NET
关注(0)|答案(2)|浏览(148)

**如何冻结一个Asp.net gridview标题?**我尝试用不同的方法来做,但是不能。

我正在使用ASP 2.0和VS 2010。
有人能帮我吗?

ars1skjm

ars1skjm1#

我使用jquery浮点
http://mkoryak.github.io/floatThead/#intro
我不得不使用一点jquery来将第一行转换为一个标题,这样它才能工作。
示例如下:

$(document).ready(function () {
    var $theadCols = $("#ContentPlaceHolder1_grdCashflow  tr:first-child"),
        $table = $("#ContentPlaceHolder1_grdCashflow");

    // create thead and append <th> columns
    $table.prepend("<thead/>");
    $table.find("thead").append($theadCols);

    // init stickyHeader
    $table.floatThead();

    //$table = $("#ContentPlaceHolder1_grdCashflow");
    $table.dataTable(
    {
        "paging": false,
        "ordering": false,
        "dom":'<"top"fi>rt<"bottom"><"clear">'
    }
    );
});
jogvjijk

jogvjijk2#

如果你对Jquery没问题,你可以试试Datatables Jquery插件
https://datatables.net/extensions/responsive/examples/column-control/fixedHeader.html
绑定gridview数据后[c#]

gridviewid.UseAccessibleHeader = true;
gridviewid.HeaderRow.TableSection = TableRowSection.TableHeader;

用于jquery

<script>
 function pageLoad(sender, args) {
            //Your jquery code 
            $(document).ready(function () { 
                tableGrid();
            });

            function tableGrid() { 
                $("#<%=gridviewID.ClientID%>").dataTable().fnDestroy(); 
                $("#<%=gridviewID.ClientID%>").dataTable({
                    "sPaginationType": "full_numbers",
                    "columnDefs": [{
                        "orderable": false
                    }],
                    "aaSorting": [],
                    info: false,
                    paging: true,
                    "oLanguage": { "sSearch": "Search: " },
                    mark: true,
                    dom: 'Blfrtip',
                    buttons: [], fixedHeader: true
                });
            }
        }
    </script>

注意:无论何时重新绑定数据,都要从c#代码调用javascript函数

ScriptManager.RegisterStartupScript(this, this.GetType(), "callheader", "tableGrid();", true);

相关问题