0

jqgrid クライアント側のフィルタリング。私が直面している問題は次のとおりです。

  1. フィルタリングは、2 つの列 (以下のコードの Project Ref と Project name) と、単語の一部または一部でのみ機能します。

  2. 別のテーブルに来るデータに対してフィルタリングが機能していません。データの取得に 2 つのデータテーブルを使用しています。直接テーブルのみで機能し、参照テーブル データでは機能しません。

  3. Loadonce true なしで esearch を使用できますか。リロードが許可されていないためです

以下のコードを試してみましたが、どこが間違っているのか教えてください

ビューで:

  $(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;

    }
4

1 に答える 1