`

gqgrid出现批量选择显示dialog框中数据未加载问题

阅读更多

 

工作上遇到的棘手的问题,查看半天文档已经网上解决方案(几乎都不对),总结如下:

1,$('#tabs-1 #batch_on_sale,#batch_on_sale_by_store').live('click',function(){

        var target = $(this);

        var checkbox_checked = $("#whitelist tr[aria-selected='true']");

        var product_ids = '';

        var product_batch_box = $("#product_batch_box");

        var product_shop_batch_box = $("#product_shop_batch_box");

        var title = target.attr('title');

        var type = target.attr('type');

        if(checkbox_checked.length > 0){

            checkbox_checked.each(function(){

                var value = $(this).attr('id')+',';

                product_ids += value;

            });

            product_ids = product_ids.substring(0, product_ids.length-1);   

        }else{

            alert('<?php echo __('Please Select Products')?>');

            return;

        }

        if(type == 'product'){

        product_batch_box.dialog({

                title:title,

                modal: true,

                autoOpen: false,

                width: 320,

                buttons: {

                    '<?php echo __('Confirm');?>':function(){

                        var status = $('input[name="status"]:checked').val();

                        console.log(status);

                        window.location.href = 'product/batch_on_sale?product_ids='+product_ids+'&status='+status;

                    },

                    '<?php echo __('Cancel');?>':function(){

                    product_batch_box.dialog('close');

                    }

                }

            });

            product_batch_box.dialog('open');

            return false;

        }else if(type == 'store'){

        var obj = $(this);

        var _tb_list = $("#product_shop_tb");

            var sid = "";

        //show modal

            product_shop_batch_box.dialog({

                title:'店铺(微店)产品上下架',

                modal: true,

                autoOpen: false,

                width: 850,

                height:700

            });

            product_shop_batch_box.dialog('open');

            //grid:loading selected products' related info

            _tb_list.jqGrid({

                url: 'product/batch_info?product_ids='+product_ids+'&status='+status,

                datatype: 'json',

                mtype: 'post',

                postData: {

                    'product_id': function() { return product_id; },

                    'type' : function (){ return '0'}

                },

                colNames:['产品ID','<div style="text-align:center;"><input type="checkbox" value=""/></div>','产品名称','店铺名称','上架'],

                colModel:[

                    {name:'product_id',index:'product_id', align:"center",width:100,sortable:false,stype:false},      

                    {

                    name:'product_id',

                        index:'product_id',

                        stype:false,

                        width:100,

                        formatter:function(cellValue, options, rowObject){

                            var html = '';

                            html = '<div style="text-align:center;"><input type="checkbox" value=""/></div>'; 

                            return html;

                        },

                        sortable:false,

                    },

                    

                    {name:'product_name',index:'product_name', align:"center",width:400,sortable:false,stype:false},

                    {name:'shop_name',index:'shop_name', align:"center",width:200,sortable:false,stype:false},

                    {

                        name:'product_on_sale',

                        index:'product_on_sale',

                        align:"center",

                        width:100,

                        formatter:function(cellValue, options, rowObject){

                            var html = '<div style="display:none">'+rowObject.product_id+'_'+rowObject.shop_id+'</div>';

                            if(rowObject.on_sale == 'Y'){

                            html += '<img src="/statics/images/icons/tick.png" alt="Active" class="active_img" style="cursor:pointer;">'; 

                            }else{

                            html += '<img class="active_img" alt="Invalid" src="/statics/images/icons/cross0.png" style="cursor:pointer;">'; 

                            }

                             

                            return html;

                        },

                        sortable:false,

                        stype:false,

                     }

                ],

             

                caption: '',

                sortable: true,

                rowNum: 20,

                rowList: [10,20,30],

                pager: '#pager_score',

                height: '100%',

                rownumbers:true,

                autowidth: true,

                viewrecords: true,

                sortname: 'product_id',

                sortorder: 'desc',

                jsonReader: {

                    root: 'rows',

                    total: 'total',

                    page: 'page',

                    records: 'records',

                    repeatitems: false,

                    cell: 'cell',

                    id: 'id',

                    userdata: 'productdata'

                },

             

            }).setGridParam({url: 'product/batch_info?product_ids='+product_ids+'&status='+status,}).trigger('reloadGrid');

        }else{

            alert('<?php echo __('Net worng');?>');

        } 

 

2,setGridParam({url: 'product/batch_info?product_ids='+product_ids+'&status='+status,}).trigger('reloadGrid');我们直接在加载.trigger('reloadGrid');不会出现dialog框中再次显示的内容刷新,我们需要setGridParam({url: 'product/batch_info?product_ids='+product_ids+'&status='+status,}) again,这样就重新加载新的内容,具体的看gqgrid文档

分享到:
评论

相关推荐

    自定义Dialog 显示正在加载动画效果 progressDialog

    本篇我们将深入探讨如何创建一个自定义的Dialog,使其在显示时不会使Activity背景变暗,并且展示正在加载的动画效果。 首先,我们从标题"自定义Dialog 显示正在加载动画效果 progressDialog"出发,了解我们要实现的...

    加载中Dialog

    "加载中Dialog"是一种在Android应用开发中常见的用户界面元素,它用于向用户展示应用程序正在进行后台操作的状态,比如数据加载、文件下载等。这个组件通常包含一个进度条或者动画,以及一些简短的文字提示,告知...

    各种自定义Dialog 以及Dialog加载动画

    在Android开发中,自定义Dialog和Dialog加载动画是提升应用用户体验的重要手段。默认的Dialog样式虽然功能齐全,但在追求个性化和美观的今天,往往显得过于简单甚至有些过时。因此,开发者常常需要根据应用的设计...

    android 加载数据或者上传数据时的Dialog,加载或上传完成后消失

    在Android开发中,当应用程序需要执行耗时操作,如加载数据或上传文件时,为了提供良好的用户体验,通常会使用Dialog组件来显示一个等待提示。这个Dialog可以告知用户系统正在进行后台处理,并防止用户在操作未完成...

    android加载数据前,显示的自定义dialog

    当应用程序需要从网络、数据库或其他资源加载数据时,为了提供良好的用户体验,通常会在数据加载过程中显示一个自定义的对话框(Dialog)。这个对话框通常包含一个加载指示器(如旋转的菊花图),以告知用户应用正在...

    自定义Dialog 正在加载中....

    在Android开发中,Dialog是一种常见的用户界面元素,用于在主应用程序界面之上显示临时信息或进行交互操作。"自定义Dialog 正在加载中...."这个标题暗示我们将讨论如何创建一个自定义的Dialog,特别是在Android应用...

    Dialog加载Demo

    "Dialog加载Demo"通常是指一个示例项目,它演示了如何在Android应用中实现Dialog来显示数据加载的过程。这样的Demo对于开发者来说非常有价值,因为它提供了直观的实例,帮助他们理解和学习如何优雅地处理异步任务和...

    Dialog自定义对话框加载网络数据

    4. **数据显示** 将网络获取的数据展示在对话框的列表中,需要使用`ListView`或`RecyclerView`。在自定义对话框布局中添加这些视图,并创建适配器(Adapter)以绑定数据。适配器通常继承自`BaseAdapter`,并覆盖`...

    自定义加载框LoadingDialog

    在Android开发中,自定义加载框(LoadingDialog)是一个常见的需求,它用于向用户展示应用程序正在进行后台处理或数据加载的状态,提升用户体验。本资源提供的就是一个基于动画和自定义style实现的自定义加载框实例...

    很好android自定义dialog加载转圈等待,适合初学,透明+正常两种主题

    在Android开发中,自定义Dialog是一种常见的需求,用于提供一种用户交互的方式,通常用来显示一些临时的通知或进行一些简短的操作。在这个主题中,我们主要关注如何创建一个自定义的加载等待Dialog,它包括透明和...

    android加载框效果,dialog效果

    在Android应用开发中,加载框(Loading Dialog)和对话框(Dialog)是常见的用户界面元素,用于提供一种反馈机制,告知用户程序正在进行后台处理或需要用户做出选择。本例着重探讨如何自定义加载框效果,特别是通过...

    Android Dialog中加载GIF

    本文将详细讲解如何在Android Dialog中利用Glide库加载并播放GIF。 首先,Glide是一个非常流行的Android图片加载库,它支持多种格式的图片加载,包括静态图片和动态GIF。其优点在于它提供了高效的内存管理和缓存...

    安卓Dialog对话框相关-自定义列表选择Dialog适用网络请求数据.rar

    本文将深入探讨如何在Android中自定义一个列表选择Dialog,并结合网络请求数据来实现更丰富的功能。 首先,我们需要了解Dialog的基本用法。在Android SDK中,Dialog类是基于Window的,可以创建一个浮动窗口来显示...

    dialog去除边框代码

    在Android开发中,Dialog是一种常用的UI组件,用于显示简短的警告、信息或者与用户进行交互。默认情况下,Dialog会带有系统定义的边框,但有时候为了满足特定的界面设计需求,开发者可能需要去除Dialog的边框。标题...

    Android高级应用源码-自定义列表选择Dialog,适用网络请求数据.zip

    这个“Android高级应用源码-自定义列表选择Dialog,适用网络请求数据.zip”文件提供了一个实例,展示了如何创建一个可以加载网络数据并展示在列表中的自定义Dialog。下面将详细阐述相关知识点: 1. **自定义Dialog*...

    Android自定义显示内容的Dialog

    在onCreate()中,我们可以使用LayoutInflater来加载自定义布局,然后将这个布局设置为Dialog的内容视图。例如: ```java public class CustomDialog extends Dialog { public CustomDialog(Context context) { ...

    自定义Dialog加载ExpandableListView

    本主题将深入探讨如何实现一个自定义Dialog来加载ExpandableListView,以实现下拉显示并支持点击触发功能。 首先,我们了解下ExpandableListView。ExpandableListView是Android SDK中的一个控件,它可以展示可折叠...

    单击图片dialog显示大图

    在Android应用开发中,"单击图片dialog显示大图"是一个常见的需求,它涉及到图片的显示、用户交互以及对话框(Dialog)的使用。当用户点击小图时,通常会弹出一个Dialog来展示放大的图片,提供更好的查看体验。在这...

    自定义Dialog加载动画

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建独特的对话框。本文将深入探讨如何实现自定义Dialog加载动画,以提供更好的用户体验。 首先,我们需要理解Dialog的...

    dialogstyle 去掉背景白色框

    在Android开发中,Dialog是一种常见的用户交互元素,用于在主线程中显示临时信息或进行简单的操作选择。默认情况下,Dialog会带有白色的背景边框,这可能会与应用的UI设计风格不一致,因此开发者有时需要去除这个...

Global site tag (gtag.js) - Google Analytics