2012-07-27 65 views
2

我有一个jqGrid显示来自服务器(php查询,json结果)的一些数据。突出显示jqgrid逐行值

是否有可能获得特定行的rowid知道存储在列单元格中的值并使用setSelection来突出显示该行?

我试着更好地解释一个例子: 我的应用程序的用户使用表单从下拉菜单中选择一个值。 然后,如果这个值是在网格中,包含它成为突出的行(如果可能的话,电网自身移动,以显示突出显示的行网格窗口的可见部分)

一些注意事项: 网格寻呼机配置,但所有行的第一页......所以分页不会是一个问题

亮点/选择只作用于一行时,没有多选(目前)

在此先感谢

回答

2

我认为这个JavaScript函数将d o为您的工作:

function check(){ 
    var data=$('#dropDown option:selected').val(); 

    var allRowsOnCurrentPage = $('#grid').jqGrid('getDataIDs'); 
    //suppose the column you want tho check in dropdown and in grid is "Name" 

    for(var i=0;i<allRowsOnCurrentPage.length;i++){ 
     var Name=getCellValue(allRowsOnCurrentPage[i],'Name'); 
     if(Name===data){ 
      jQuery("#grid").setSelection(allRowsOnCurrentPage[i], true); 
     } 
    } 
} 
+1

你的意思是'allRowsOnCurrentPage.length'? – 2012-07-27 13:54:10

+0

哦,是的..我从我的工作代码中挑选了这段代码...让我编辑这个 – 2012-07-27 15:32:41

+0

那么它对你有用吗? – 2012-07-27 15:33:26

1

谢谢! 我不得不编辑你的小功能,使其工作......在这里,借机代码:

function check() { 

    var data=$('#dropDown option:selected').val(); 
    var allRowsOnCurrentPage = $('#grid').jqGrid('getDataIDs'); 
    for(var i=0;i<allRowsOnCurrentPage.length;i++){ 
     var Name = $('#grid').getCell(allRowsOnCurrentPage[i], 'Name'); 
     if(Name===data){ 
      jQuery("#cetacei_grid").setSelection(allRowsOnCurrentPage[i], true); 
     } 
}