2013-10-02 43 views
1

我对使用jqxGridjqWidgets有一些疑问。 我试图从另一个页面动态选择我的表的一行。我自己解释一下:通过jqxGrid中的一个单元格的值选择一行

我的第一个页面包含一个用户列表。我希望当我在这个列表中选择一个用户时,它会打开一个新页面,例如,我的用户的ID通过PHP以GET形式返回。然后,我想生成一个新的网格,信息较少,但用户已选择。

我已经找到了如何通过她的指数$('#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}, 
     ] 
    }); 

回答

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'); 
    }); 
相关问题