检查omgird是否有数据,检查omgrid是否有选中行(分页情况、不分页情况)

这篇博客主要介绍如何检查OmGrid数据源是否有数据,以及在分页和不分页情况下,判断OmGrid是否有选中行。通过监听onRowSelect和onRowDeselect事件来维护选中行的序号数组,并在刷新时还原选中状态。同时,提供提交前的验证,确保选中的行处于特定状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var store_UM = $('#grid').omGrid('getData');//检查数据源是否有数据
        

 if (typeof(store_UM.total) == "undefined")  {
          $.omMessageBox.alert({
                        type:'error',
                        title:'出错',
                        content:'请查询记录'
                    });
                    return false;
                    }

 

//自己写的通过判断omGrid是否存在数据源,来判断(如果存在分页,该方法错误)

var selectedRecords = $('#grid').omGrid('getSelections',true);
          

 if (selectedRecords.length == 0) {
             $.omMessageBox.alert({
                        type:'error',
                        title:'出错',
                        content:'请至少选择一行记录'
                    });                     
                        return false;
                    }

//selectedRecords.length是否为0,来判断是否选择了行记录


//新方法。定义数组

var selectIds = [];//存储选中的序号数组

//grid里面加时间,在数组里记录选中行的行号

,
                    onRowSelect : function(index, data){
                        if($.inArray(data.purPurchasePlanId, selectIds)== -1)
                               selectIds.push(data.purPurchasePlanId);
                    },
                    onRowDeselect : function(index, data){
                        var i = $.inArray(data.purPurchasePlanId, selectIds);
                        selectIds.splice(i,1);
                    },
                    //还原过去选中的记录
                    onRefresh : function(nowpage, records){
                        var len = selectIds.length;
                        var indexs = [], index =-1;
                        for(var i=0; i<len; i++){
                           $.each(records, function(n,item){
                               if(item.purPurchasePlanId === selectIds[i]){
                                         indexs.push(n);
                               }
                           });
                        }
                        
                        $("#grid").omGrid("setSelections", indexs);
                    }

//-----------------提交前---------判断分页GRID是否有选中项------------

if (selectIds.length == 0)
                                {showError("请至少选择一行记录");
                                return false;
                                }

//---------------------提交前要对选中项的某个字段进行验证,需对数据源,选中行记录,进行双循环判断--------------------

for(var i=0;i<selectIds.length;i++){
                    for(var j=0;j<store_UM.total;j++)
                    {
                        if (store_UM.rows[j]["purPurchasePlanId"]== selectIds[i])
                        {
                                 if (store_UM.rows[j]["purchasePlanLineStatus"] != "新建")
                                 {
                                   var lineNO = store_UM.rows[j]["purPurchasePlanId"];
                                showError(lineNO +"行不是新建状态,不能选中确认" );                           
                                   return false;
                                   }
                               }
                       }
                    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值