【问题标题】:jqGrid select first row on page loadjqGrid在页面加载时选择第一行
【发布时间】:2015-03-18 13:55:18
【问题描述】:

我有一个 jqGrid,我希望在页面加载时选择第一行。我找到了几种不同的方法,但它们似乎都不适合我。数据来自 ajax 调用,据我所知,网格正在尝试在加载任何数据之前选择第一行。

var reqListGrid = new BaseGrid("#request_list");
reqListGrid.edit_url = '...'
reqListGrid.name = 'Request List'
reqListGrid.colNames = ["Employee", "Code", "Start Date", "Submitted", "Hours"]
reqListGrid.height = '200px';
reqListGrid.width = 'auto';
reqListGrid.colModel = [
    {name:'req_emp', ...},
    {name:'req_code', ...},
    ...
];
reqListGrid.gridComplete = function(){
    var req_top_row = $("#request_list").getDataIDs()[0];
    $("#request_list").setSelection(req_top_row, true);
};

reqListGrid.createGrid();

我在 gridComplete 方法中设置了一个断点,但 Chrome 从来没有命中它。有什么建议吗?

【问题讨论】:

  • 您使用的BaseGrid 类是什么?一些选项(如edit_url)似乎也很奇怪。为什么不直接使用$("#request_list").jqGrid({/*all options and callbacks*/});?我建议您阅读the post,它描述了gridCompleteloadComplete 之间的区别。在大多数情况下,gridComplete 是错误的回调。
  • BaseGrid 只是我的风格化标准网格(颜色、寻呼机按钮等)。我也尝试过使用该语法,但也没有用。
  • 问题只是因为您调用reqListGrid.createGrid() 来创建网格,我想您的问题的原因在BaseGrid 的代码中。如果调用gridComplete 是正确的。您能否在问题文本中附加BaseGrid 的构造函数代码和createGrid 方法?为了告诉信任,我认为在此案例中使用一些额外的BaseGrid 没有任何优势。

标签: javascript jquery jqgrid


【解决方案1】:

OnGridComplete你可以使用下面的代码:

var firstRowId = $("tr:first","#request_list").attr("id");
$("#request_list").setSelection(firstRowId);

OnGridComplete 的整体代码应如下所示

reqListGrid.gridComplete = function(){
    var req_top_row = $("tr:first","#request_list").attr("id");
    $("#request_list").setSelection(req_top_row);
};

【讨论】:

  • 不走运,它永远不会碰到 gridComplete 方法中的任何代码
  • 那么,你能加载网格吗?在这种情况下,你应该发布加载网格的完整代码。
【解决方案2】:
gridComplete: function () {
                      var idarray = jQuery('#jqTable').jqGrid('getDataIDs');
                    if (idarray.length > 0) {
                    var firstid = jQuery('#jqTable').jqGrid('getDataIDs')[0];
                            $("#jqTable").setSelection(firstid);    
                        }
                }

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多