使用datatable bootstrap更新asp.net gridview中的行时。编辑器成为最后一行

时间:2015-02-23 14:44:36

标签: c# jquery asp.net gridview jquery-datatables

我的数据表(http://www.datatables.net/manual/styling/bootstrap)gridview出现问题。按下编辑按钮时,gridview进入editmode。但是编辑的行成为gridview中使用户感到困惑的最后一行。有谁知道如何解决这个问题?

我的网格视图:

    <asp:GridView
        ID="gv_cats"
        AutoGenerateColumns="false" 
        runat="server" 
        DataKeyNames="ID"
        CssClass="gvv_cats table table-striped table-bordered"
        ShowHeaderWhenEmpty="true"
        OnRowDeleting="gv_cats_RowDeleting"
        OnRowEditing="gv_cats_RowEditing"
        OnRowCancelingEdit="gv_cats_RowCancelingEdit">    
        <Columns>
            <asp:CommandField ShowDeleteButton="true" ShowEditButton="true" />
            .......
        </Columns>
    </asp:GridView>  

datatables-jquery构造函数:

    var table = $(".gvv_cats").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable({
        pagingType: 'full_numbers',
        stateSave: true
        });

    new $.fn.dataTable.FixedHeader(table);

编辑:我也开放工作。我在这个事件中思考:gv_cats_RowEditing转到gridview的最后一页。但是如何将代码传递给数据表以转到最后一页呢?

2 个答案:

答案 0 :(得分:2)

我不确定这是否适用于您的设置,但在我的情况下,已编辑的行会​​冒泡到表格的顶部。要使该行“就地编辑”,我必须禁用排序:

    <script>
  $(document).ready(function () {
    $('#GridViewID').dataTable({
      "ordering": false,
      stateSave: true
    });
  });
</script>

这绝对是一种解决方法而不是修复,但幸运的是,用户对列的排序并不是必需的。希望这会有所帮助。

答案 1 :(得分:0)

设置“顺序”:[[3,“ asc”]] 或任何想要的列号为我解决了问题。