繁体   English   中英

如何使用按钮重新绑定jqgrid

[英]how to rebind jqgrid with a button

我想重新绑定我的jqgrid。 这是绑定网格的脚本代码:

  $(document).ready(function () {

        var categoryId = $('#<%=hdnCategoryId.ClientID %>').val();

        var productName = $('#tags').val();

        jQuery("#tblList").jqGrid({
            url: 'ArenaProductList.aspx/GroupProductList',
            mtype: 'POST',
            datatype: 'json',
            postData: {
                sidx: '',
                sord: '',
                page: '',
                rows: '',
                categoryId: categoryId,
                productName: productName
            },
            ajaxGridOptions: { contentType: "application/json" },
            serializeGridData: function (postData) {
                var propertyName, propertyValue, dataToSend = {};
                for (propertyName in postData) {
                    if (postData.hasOwnProperty(propertyName)) {
                        propertyValue = postData[propertyName];
                        if ($.isFunction(propertyValue)) {
                            dataToSend[propertyName] = propertyValue();
                        } else {
                            dataToSend[propertyName] = propertyValue;
                        }
                    }
                }
                return JSON.stringify(dataToSend);
            },
            jsonReader: {
                root: "d.rows",
                page: "d.page",
                total: "d.total",
                records: "d.records"
            },
            colNames: ['ArenaProductId', 'Açıklama', 'Ana Kategori', 'Alt Kategori', 'Marka', 'KDV', 'Stok', 'Bayi Fiyatı', 'Son Kullanıcı Fiyatı', 'Para Birimi', 'Yüzde'],
            colModel: [
                { name: 'ArenaProductId', index: 'ArenaProductId', hidden: true },
                { name: 'Description1', index: 'Description1', width: 150 },
                { name: 'MainGroupCode', index: 'MainGroupCode', width: 150 },
                { name: 'SubGroupCode', index: 'SubGroupCode', hidden: true },
                { name: 'Brand', index: 'Brand', width: 220 },
                { name: 'Kdv', index: 'Kdv', width: 120 },
                { name: 'Stock', index: 'Stock', width: 100 },
                { name: 'DealerPrice', index: 'DealerPrice', width: 100 },
                { name: 'Price', index: 'Price', width: 100 },
                { name: 'Currency', index: 'Currency', width: 100 },
                { name: 'Rate', index: 'Rate', width: 100 }
            ],
            pager: '#tblPager',
            rowList: [10, 20, 30],
            sortname: 'UserId',
            sortorder: 'desc',
            rowNum: 10,
            loadtext: "Yukleniyor....",
            shrinkToFit: false,
            multiselect: false,
            emptyrecords: "Kayit Bulunamadi",
            autowidth: true,
            shrinkToFit: true,
            height: "400",
            width: "740",
            rownumbers: true,
            //subGrid: true,
            caption: 'Arena Ürünler'
        });
        jQuery("#tblList").jqGrid('navGrid', '#prod_pager',
            { edit: false, add: false, del: false, excel: false, search: false });

        $('#ddlSubCategory').change(function () {
            $('#tags').val('');
            $('#<%=hdnCategoryId.ClientID %>').val($('#<%=ddlSubCategory.ClientID %>').val());
            jQuery("#tblList").trigger('reloadGrid');
        });

        $('#ddlMainCategory').change(function () {
            $('#tags').val('');
            $('#<%=hdnCategoryId.ClientID %>').val($('#<%=ddlMainCategory.ClientID %>').val());
            jQuery("#tblList").trigger('reloadGrid');
        });

    });

我有一个提交按钮。 单击按钮后,我想使用不同的productName值重新加载网格。 你有什么建议吗?

如果您不想将sidxsordpagerows发送到服务器,则应使用

prmNames: { page: null, rows: null, sort: null, order: null }

jqGrid的参数而不是用法

postData: { sidx: '', sord: '', page: '', rows: '' }

要发送categoryIdproductName总是参数作为的实际$('#<%=hdnCategoryId.ClientID %>')$('#tags').val()可以定义categoryIdproductName的属性postData方法

postData: {
    categoryId: function() { return $('#<%=hdnCategoryId.ClientID %>').val(); },
    productName: function() { return $('#tags').val(); }
}

有关详细信息,请参见答案 您已经使用了我在答案中建议的serializeGridData代码。 因此,数据的序列化将正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM