Asp.net mvc 4 Jqgrid筛选不适用于完整的字和数据

Asp.net mvc 4 Jqgrid筛选不适用于完整的字和数据,asp.net-mvc-4,jqgrid,Asp.net Mvc 4,Jqgrid,jqgrid客户端的过滤。iam面临的问题有: 过滤只在两列(下面代码中的项目参考和项目名称)中起作用,并且只在单词的某个部分起作用 筛选不适用于来自另一个表的数据。我使用两个数据表来检索数据。仅适用于直接表,不适用于引用的表数据 我可以在没有加载的情况下搜索一次为true。因为它不允许重新加载 我尝试了以下代码让我知道我哪里做错了 鉴于: $(document).ready(function () { $("a.button").button(); var url = '@

jqgrid客户端的过滤。iam面临的问题有:

  • 过滤只在两列(下面代码中的项目参考和项目名称)中起作用,并且只在单词的某个部分起作用

  • 筛选不适用于来自另一个表的数据。我使用两个数据表来检索数据。仅适用于直接表,不适用于引用的表数据

  • 我可以在没有加载的情况下搜索一次为true。因为它不允许重新加载

  • 我尝试了以下代码让我知道我哪里做错了

    鉴于:

      $(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"
                });
    
    
    
    
    });
    
    }

    添加记录的代码:

      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;
    
        }
    

    如果您使用的是本地搜索,那么应该设置
    loadonce=true
    ,从多少个表中提取数据到jqgrid并不重要。若要使
    loadonce=false,
    则应将搜索条件发布到服务器并执行数据库搜索

    然后尝试删除
    stringResult:true,
    以解决第一个问题

    要使搜索不区分大小写,请将以下内容添加到jqgrid属性:

    ie

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


    $(v_gridCtrl).trigger('reloadGrid',[{page:1}])

    如果您使用的是本地搜索,那么应该将loadonce设置为true,这并不重要,因为您的数据从多少个表中提取到jqgrid。如果要使loadonce=false,则应将搜索条件发布到服务器并执行数据库搜索。loadonce=true的问题在于。我必须经常刷新我的网格,并且在设置load once true后,网格中的数据在重新加载后丢失尝试删除
    stringResult:true,
    以解决您的第一个问题啊,第一个问题已解决,剩余的问题已解决。您是说您的pblms已解决?2。添加记录并重新加载后,网格不会显示所有数据,因为加载一次设置为true。您的问题没有说明任何有关添加新记录的内容。第三点与重新加载后它不会显示有关。无论如何,它都是错误的,并将您的答案标记为已回答。关于区分大小写的问题,请参阅我的修改答案。ignorCase:trueAnd,您如何将新记录添加到jqgrid?你能包括代码吗?
      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;
    
        }
    
        $(v_gridCtrl).jqGrid({
        //url from wich data should be requested
        autowidth: true,
    .....
     ignoreCase:true,
    ...}