答案 0 :(得分:4)
变化:
data: '{ id: 23, area: "anywhere" }',
为:
params: [{name:'id', value: 23},{name:'area', value: 'anywhere'}],
或者如果您想使用新选项重新加载:
$("#flex1").flexOptions({params: [{name:'id', value: 23},{name:'area', value: 'anywhere'}]}).flexReload();
答案 1 :(得分:3)
可以使用params:选项指定其他参数。如果你看一下flexigrid.js中的第615-618行,你可以看到代码循环遍历p.params中的每个项目,并将其添加到默认列表(page,rp,sortname等)。
答案 2 :(得分:2)
我最终做的是这个 在flexigrid.js的第713行,我添加了这个
for(opt in p.optional){
param[param.length] = {name:opt,value:p.optional[opt]};
}
然后我可以做这样的事情
$('#flex1').flexigrid({
method: 'POST',
url: '/services/MHService.asmx/GetSurgicalHistory',
dataType: 'xml',
colModel: [
{ display: 'Surgical Procedure', name: 'SurgicalProcedure', width: 120, sortable: true, align: 'left' },
{ display: 'Notes', name: 'Notes', width: 120, sortable: true, align: 'left' },
{ display: 'Complications', name: 'Complications', width: 120, sortable: true, align: 'left' }
],
searchitems: [
{ display: 'Surgical Procedure', name: 'SurgicalProcedure' },
{ display: 'Notes', name: 'Notes' },
{ display: 'Complications', name: 'Complications' }
],
sortname: 'SurgicalProcedure',
singleSelect: true,
sortorder: 'asc',
usepager: true,
title: 'Surigcal History',
useRp: true,
rp: 10,
showTableToggleBtn: true,
width: 805,
height: 200,
optional: { id: 23, area: "anywhere" }
});
它不是很好,但我真的可以找到任何其他方式,我没有看到任何新版本即将推出8 ^)
答案 3 :(得分:1)
你应该在这里试试:
http://bargaorobalo.net/blog/flexigrid-passar-parametros
它是葡萄牙语,但意味着你将附加参数传递给json:
useRp : true,
rp : 10,
params: [{name:'ID', value: 100}]
并在json中设置变量RECEIVE:
$query = isset($_POST['query']) ? $_POST['query'] : false;
$qtype = isset($_POST['qtype']) ? $_POST['qtype'] : false;
$id = isset($_POST['ID']) ? $_POST['ID'] : NULL;
现在,您只需在SQL CODE中使用此参数:
$sql = "SELECT * FROM PROCEDURE_NAME(".$id.") $where $sort $limit";
$result = runSQL($sql);
答案 4 :(得分:0)
如果您尝试在某些单击事件中加载特定值的flexigrid数据。试试这个 我们可以像
一样使用查询字符串 var val1=value;
url: '/services/MHService.asmx/GetSurgicalHistory?qurid='+val1,
到webservice方法并使用字符串
从webservice获取 getvalue=HttpContext.Current.Request.QueryString["qurid"].ToString();
答案 5 :(得分:0)
初始化flexigrid时,可以在onSubmit事件中使用flexOptions,如下所示:
...
title: 'Surigcal History',
onSubmit: function() {
$('#flex1').flexOptions({newp:1,params:[{name: 'id', value: '23'}]});
$('#flex1').flexOptions({newp:1,params:[{name: 'area', value: 'anywhere'}]});
},
useRp: true,
...
最好为多个参数使用循环
这可以避免直接修改flexigrid.js