【问题标题】:In jqGrid, can I get number of rows that have certain value only?在 jqGrid 中,我可以获得仅具有特定值的行数吗?
【发布时间】:2016-01-15 02:41:18
【问题描述】:

我在获取我想要的行数时遇到问题,而不是网格的所有行。

我有一个如下的网格:

它被称为reportingList,当我说类似

var listApp = $("#reportingList").jqGrid('getGridParam', records');

在这种情况下它将返回 3。

但是,我想弄清楚如何获取它们的类型等于 Approval only 的行数。

所以,在上面的例子中,因为有两行以批准作为它们的类型,所以输出应该是 2 而不是 3。

以下是显示和我的代码的一部分:

$("#employeeList").jqGrid(

(跳过)

gridComplete : function(){
    $("#btnApprovalCon").on('click', function() {                                   
        var list = $("#employeeList").jqGrid ('getGridParam', 'selarrrow'); //arrayList                 
        if(list != null){
            var reportListIDs = $("#reportingList").jqGrid('getDataIDs');
            list = list.filter(function(val) {
                return reportListIDs.indexOf(val) == -1;
            });
            if(list.length > 0){
                $.each(list, function(i,v){
                    var rowData = $("#employeeList").jqGrid('getRowData', v);
                    var data = {appset_employeeId: rowData.employeeId, appset_department: rowData.department,
                        appset_position:rowData.title,         
                        appset_employeeName:rowData.employeeName, 
                        type:'Approval'}
                    $("#reportingList").jqGrid('addRowData', rowData.id, data);
                });
            }
        }
        var listApp = $("#reportingList").jqGrid('getGridParam', 'records'); 
        if (listApp > 0) {
            $(".btnSaveRep").button("option", "disabled", false);
        };
    });
},

所以从employeeList 网格中,用户选择一行并单击四个按钮。如果他们点击了批准,它将被添加到reportingList中,其类型为批准。

我不在这里发帖,但我确实有相同的按钮来添加一行作为协议。

当reportingList 中有五个审批行时,我想禁用审批按钮。

提前谢谢你。

仅供参考,我使用的是 Guriddo jqGrid 4.8.2 版。

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    我解决了如下问题:

    var repList = $("#reportingList").jqGrid ('getDataIDs');
    
    var appFin = 0;
    
    $.each(repList, function(i,v){
        var repListData = $("#reportingList").jqGrid('getRowData', v);
        var repApp = repListData.type;
        if (repApp == "Approval"){
            appFin++;
        };
    });
    if (appFin >= 5) {
        $("#btnApprovalCon").button("option", "disabled", true);
        var shouldDel = $("#reportingList").jqGrid('getDataIDs');
        var newShould = [];
        for (var ii=(shouldDel.length-1); ii>4; ii--){
            var dd = shouldDel[ii];
            newShould = [dd];
            $("#reportingList").jqGrid('delRowData', newShould);
        };
    };
    

    获取reportingList的信息。

    那么当它的type等于“Approval”时,加上count。

    最后,当它的计数变为 5 时,禁用按钮。

    此外,对于用户选择超过五行并尝试一次添加这些行的情况,我将其设置为删除前 5 行之外的额外行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多