我想重新绑定我的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值的网格。你有什么建议吗?
答案 0 :(得分:1)
如果您不想将sidx
,sord
,page
和rows
发送到服务器,则应使用
prmNames: { page: null, rows: null, sort: null, order: null }
jqGrid的参数而不是用法
postData: { sidx: '', sord: '', page: '', rows: '' }
要始终将categoryId
和productName
参数作为$('#<%=hdnCategoryId.ClientID %>')
和$('#tags').val()
的实际值发送,您可以定义categoryId
和productName
的{{1}}属性方法:
postData
有关详细信息,请参阅the answer。您已使用我在the answer中建议的postData: {
categoryId: function() { return $('#<%=hdnCategoryId.ClientID %>').val(); },
productName: function() { return $('#tags').val(); }
}
代码。因此数据的序列化将正常工作。