2013-04-04 53 views
0

过滤jqGrid的客户端的。问题IAM面有:jqGrid的过滤不工作的完整的单词和数据

  1. 过滤是(在下面的代码项目编号和项目名称)的两列只有工作,只有或单词的某些部分。

  2. 过滤是不工作的,其即将到来的另一个表中的数据。我正在使用两个数据表来检索数据。仅适用于直接表格不适用于参考表格数据。

  3. 我能有theesearch没有Loadonce true.Because它不允许重新加载

我曾尝试用下面的代码下面让我知道IAM做错了

鉴于:

$(document).ready(function() { 
    $("a.button").button(); 
    var url = '@Url.Action("ListAllProjects")' + '?s_partId=' + '@ViewBag.PartId'; 
    var colNames = ['<input type="checkbox" onclick="CheckAll(this.checked,\'chkOF_\',event);" name="checkall">', 
     'Status', 
     'Project Ref', 
     'Project Name', 
     'Customer', 
     'CreatedBy', 
     'Creation Date', 
     'Last Modified', 
     'LastModifiedDate', 
     'Edit']; 
    var colModel = [ 
     { name: 'ProjectId', index: 'ProjectId', align: 'left', formatter: checkFormatter, width: 20, search: true }, 
     { name: 'ProjectStatusId', index: 'ProjectStatusId', edittype: 'image', align: 'left', width: 70, formatter: imageFormatter, search: true }, 
     { name: 'ProjectReference', index: 'ProjectReference', align: 'left', width: 100, formatter: 'showlink', formatoptions: { "baseLinkUrl": "/Ordernew/Home" }, search: true }, 
     { name: 'ProjectName', index: 'ProjectName', align: 'left', width: 150, formatter: 'showlink', formatoptions: { "baseLinkUrl": "/Ordernew/Home" }, search: true }, 
     { name: 'CustomerName', index: 'CustomerName', align: 'left', width: 150, search: true }, 
     { name: 'CreatedBy', index: 'CreatedBy', align: 'left', width: 150, search: true }, 
     { name: 'CreationDate', index: 'CreationDate', align: 'left', width: 100, formatter: 'date', formatoptions: { srcformat: 'ISO8601Long', newformat: 'd-M-y h:m A' }, search: true }, 
     { name: 'LastModifiedBy', index: 'LastModifiedBy', align: 'left', width: 100, search: true }, 
     { name: 'LastModifiedDate', index: 'LastModifiedDate', align: 'left', width: 100, formatter: 'date', formatoptions: { srcformat: 'ISO8601Long', newformat: 'd-M-y h:m A' }, search: true }, 
     { name: 'StatusId', index: 'ProjectStatusId', formatter: myCustomFormatter, align: 'left', width: 70, search: true }, 
    ]; 
    var sortname = 'ProjectStatusId'; 
    var sortorder = 'desc';  
    SetGrid('#jqgprojectnew', '', url, colNames, colModel, sortname, sortorder, -1,'#count',true); 

    $("#jqgprojectnew").jqGrid('filterToolbar', 
      { 
       stringResult: true, 
       searchOnEnter: false, 
       defaultSearch: "cn" 
      }); 




}); 

并设置这样的网格,这是所有网格常见的网格。但我需要只搜索上面的网格:

function SetGrid(v_gridCtrl,v_pagingCtrl, v_url, v_colNames, v_colModel, v_sortname, v_sortorder, v_Pagesize,Count,Loadonce) { 

if (v_Pagesize == undefined) 
    v_Pagesize = 100; 

$(v_gridCtrl).jqGrid({ 
    //url from wich data should be requested 
    autowidth: true, 
    url: v_url, 
    //type of data 
    datatype: 'json', 
    //url access method type 
    mtype: 'POST', 
    //columns names 
    colNames: v_colNames, 
    //columns model 
    colModel: v_colModel, 
    //pager for grid 
    pager: $(v_pagingCtrl), 
    //enable dynamic scrolling 
    //scroll: true, 
    //enable npage request parameter 
    prmNames: { npage: 'npage' }, 
    //number of rows per page 
    rowNum: v_Pagesize, 
    rowList: [10, 30, 60, 90, 100, 150, -1], 
    loadComplete: function() { 
     $("option[value=-1]").text('All'); 
     $(Count).html($(v_gridCtrl).getGridParam("reccount")); 
    }, 
    loadonce:Loadonce, 
    //initial sorting column 
    sortname: v_sortname, 
    //initial sorting direction 
    sortorder: v_sortorder, 
    //we want to display total records count 
    viewrecords: true, 
    //grid height 
    height: 400,//'100%', 
    //width: '100%', 
    scrollOffset: 0, 
    shrinkToFit: true, 


}); 

}

代码添加记录:

public bool AddUpdateOrderField(ProjectViewModelNew obj) 
    { 



       var rec = new Project 
           { 
            ProjectID = Guid.NewGuid(), 
            ProjectDetail = obj.ProjectDetail, 
            CustomerId =obj.Id, 
            ProjectName = obj.ProjectName, 
            CreatedBy = new UserManager().Userid(), 
            CreationDate = DateTime.Now, 
            LastModifiedBy = new UserManager().Userid(), 
            ProjectRef = obj.ProjectRef, 

            ProjectStatusId = obj.ProjectStatusId, 
            LastModifiedDate = DateTime.Now, 
            OwnerID = new Guid("BEBB9E61-1F06-4762-80D8-5E4D554EAEB5") 

           }; 
       _context.Projects.AddObject(rec); 
       _context.SaveChanges(); 

       return true; 

    } 
+0

如果使用的是本地搜索,你应该设置loadonce =真,也没关系,从你的数据有多少表是取到的jqGrid。如果您想使loadonce = false,那么您应该将搜索条件发布到服务器并执行数据库搜索。 – Sharun 2013-04-08 06:20:09

+0

loadonce = true的问题。我不得不经常更新我的网格,并在网格中设置负载一次真正的数据后失踪重装 – user2189168 2013-04-08 06:24:13

+0

尝试删除'stringResult:成立,'解决您的第一个问题 – Sharun 2013-04-08 06:29:35

回答

1

如果使用的是本地搜索,你应该设置loadonce =true,它不从你的数据被提取到jqgrid的表格数量。如果您想制作loadonce=false,,则应将搜索条件发布到服务器并执行数据库搜索。

并尝试删除stringResult: true,解决您的第一个问题

为了使搜索不区分大小写,加上这jqGrid的属性:

即;

$(v_gridCtrl).jqGrid({ 
    //url from wich data should be requested 
    autowidth: true, 
..... 
ignoreCase:true, 
...} 

并重新加载网格,尝试以下代码:

$(v_gridCtrl).trigger( 'reloadGrid',[{页面:1}]);

+0

两个问题:1。区分大小写的搜索工作不 – user2189168 2013-04-08 09:06:22

+0

2.添加记录和重装电网不显示所有的负载一旦设置为true – user2189168 2013-04-08 09:07:03

+0

您的问题并没有说明添加新记录任何数据后。 – Sharun 2013-04-08 09:19:21