2013-04-04 51 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