2013-10-15 33 views
1

我在我的asp.net web应用程序中使用Jqgrid网格。我想使用内置过滤。排序选项没有填充内置过滤jqgrid

但问题是,即使我已经包括排序选项。他们不会出现在搜索弹出窗口的下拉列表中。

这里是我的代码:

$(document).ready(function() { 
      $("#Data").jqGrid({ 
       url: '/Home/LoadData', 
       datatype: "json", 
       mtype: "GET", 
       colNames: ['Col1', 'Col2', 'Col3'], 
       colModel: [ 
        { name: "Col1", width: 70, align: "left", sortable: false, search: false }, 
        { name: "Col2", index: 'Col2', width: 140, align: "left", sortable: true, stype: 'text' }, 
        { name: "Col3", index: 'Col3', width: 160, align: "left", sortable: true, search: true }, 

          ], 
       pager: "#Pager", 
       rowNum: '10', 
       rowList: [10, 20, 30], 
       sortname: "Col1", 
       sortorder: "asc", 
       searchGrid: "options", 
       height: "auto", 
       gridview: true, 
       viewrecords: true, 
       caption: "Sample Demo Grid" 
      }).navGrid('#Pager', 
    { 
     view: false, 
     del: false, 
     search: true, 
     refresh: true, 
     add: false, 
     edit: false 
    }, 
     { 
      sopt: ['cn', 'nc', 'eq', 'ne', 'lt', 'le', 'gt', 'ge', 'bw', 'bn', 'in', 'ni', 'ew', 'en'] 
     } 
    ); 
     }); 

请help..Those排序选项没有下拉菜单中来了。

回答

2

您使用navGrid的第3个参数来指定具有sopt属性的对象。第3个参数是prmEdit,可用于自定义编辑表单。您可以使用navGrid 6个选项(prmSearch)自定义搜索选项:

$("#Data").jqGrid("navGrid", "#Pager", 
    { del: false, add: false, edit: false }, 
    {}, {}, {}, 
    { sopt: [ ... ]} 
); 

或者你可以先更改默认选项$.jgrid.search通过搜索(见the answeranother one的代码示例),然后使用短调用中使用navGrid$("#Data").jqGrid("navGrid", "#Pager", { del: false, add: false, edit: false });)。

+0

感谢您的回答。但是,在这里我一页接一页地加载数据并非都是一次。因此,我是否需要执行服务器端筛选才能获得正确的结果? –

+0

@Avinash:如果你实现了*服务器端分页*,那么你也应该实现服务器端过滤(代码示例参见[答案](http://stackoverflow.com/a/5501644/315935)) – Oleg

+0

@Oleg ..谢谢..我会检查,并得到任何疑虑.. –