我对 jqWidgets 中 jqxGrid 的使用提出了一些疑问。 我正在尝试从另一个页面动态选择一行表格。我解释一下自己:
我的第一个页面包含用户列表。我希望当我在此列表中选择一个用户时,它会打开一个新页面,例如,通过PHP在GET中返回的用户ID 。然后,我想生成一个新网格,信息较少,但已经选择了用户。
我已经找到了如何通过她的索引 $('#grid').jqxGrid('selectrow', 10);
选择一行,但它不起作用,因为如果一个表被排序或过滤,则索引会被更改......
那么,有没有办法做到这一点?
这是在第一个表上选择行时调用的代码:
$('#search_right').bind('rowselect', function(event){
var iSocID = $('#search_right').jqxGrid('getcellvalue', event.args.rowindex, 'id');
$("#soci_right").load('activites/soc.search.php?a=form&id='+iSocID);
$('#content').jqxTabs('select', 3);
});
这是我的第二个清单的代码:
var url = 'activites/soc.search.php';
var source = {
datatype: "json",
datafields: [
{ name: 'name', type: 'string'},
{ name: 'id', type: 'int'},
],
id: 'id',
url: url,
root: 'data'
};
dataSource = new $.jqx.dataAdapter(source);
$("#soci_table").jqxGrid({
source: dataSource,
theme: jqxGlobalTheme,
columnsresize: true,
sortable: true,
filterable: true,
showfilterrow: true,
columns: [
{ text: 'Name', dataField: 'name'},
{ text: 'ID', dataField: 'id', hidden:true},
]
});
答案 0 :(得分:1)
在联系了jqWidgets的支持者之后(谁也帮不了我......)我做了一个小巧的片段,但是我觉得jqWidget应该把它添加为jqxGrid的默认函数!
我在这里粘贴了我的代码,希望它能为你们中的一些人提供帮助!
$('#search_right').bind('rowselect', function(event){
var iSocID = $('#search_right').jqxGrid('getcellvalue', event.args.rowindex, 'id');
// Create filter
var filtergroup = new $.jqx.filter();
var filtervalue = iSocID;
var filtercondition = 'EQUAL';
var filter1 = filtergroup.createfilter('stringfilter', filtervalue, filtercondition);
var filter_or_operator = 1;
filtergroup.addfilter(filter_or_operator, filter1);
$("#soci_table").jqxGrid('addfilter', 'id', filtergroup);
// Apply filter
$("#soci_table").jqxGrid('applyfilters');
// Select row
$('#soci_table').jqxGrid('selectrow', 0);
// Remove filter
$("#soci_table").jqxGrid('clearfilters');
});