【问题标题】:Datatables Jquery - No matching records foundDatatables Jquery - 找不到匹配的记录
【发布时间】:2019-01-11 09:25:58
【问题描述】:

我有 Jquery Datatables 服务器端,当我导航到我的页面以查看 Datatables 中的结果时,它显示“未找到匹配的记录”,然后我调试了我的代码,我可以看到它检索到的当前数据,我还检查了浏览器中的响应也是检索数据。

Json 响应:

{"data":
[{"Kundenavn":"test 1"},
{"Kundenavn":"test 2"},
{"Kundenavn":"test 3"}]
,"draw":"1","recordsTotal":567,"recordsFiltered":567}

JavaScript:

<table id="OrdrerList">
    <thead>
        <tr>
            <th>Kundenavn</th>
        </tr>

    </thead>
    <tbody>
    </tbody>
</table>

$('#OrdrerList').DataTable({

 "processing": true,
 "serverSide": true,

    ajax:{
        url: '@Url.Action("GetClosedRMA", "User")',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        dataSrc: ''

        },
    columns: [

        { data: "Kundenavn" }
   ]
});

控制器:

public JsonResult GetClosedRMA()
{
    //Server side Parameters

    int start = Convert.ToInt32(Request["start"]);
    int length = Convert.ToInt32(Request["length"]);
    string searchValue = Request["search[value]"];
    string sortColumnName = Request["columns["+ Request["order[0][colmun]"]+ "][name]"];
    string sortDirection = Request["order[0][dir]"];

    List<RMAclosedCase> rmalist = new List<RMAclosedCase>();
    using (Namespace db = new Namespace())
    {
       rmalist = (from RH in db.RMA_History
                   join RS in db.RMAStatus on RH.StatusID equals RS.ID
                   where RH.SagesType == "LUK"
                   select new RMAclosedCase
                   {
                       Kundenavn = RH.Kundenavn

                   }).ToList();

       int totalrows = rmalist.Count();
            //Filter
            if (!string.IsNullOrEmpty(searchValue))
            {
                rmalist = rmalist.Where(x => x.Kundenavn.ToLower().Contains(searchValue.ToLower())).ToList();
            }
       int totalrowsefterfiltering = rmalist.Count();

        //Paging
        rmalist = rmalist.Skip(start).Take(length).ToList();

        return Json(new {data= rmalist,draw = Request["draw"], recordsTotal = totalrows,recordsFiltered = totalrowsefterfiltering },JsonRequestBehavior.AllowGet);
    }
}

我做错了什么?! :) 谁能帮助我或指出我正确的方向! :) 提前谢谢

【问题讨论】:

  • 你搞定了吗?

标签: jquery asp.net-mvc datatables


【解决方案1】:

只需删除 dataSrc:"" 来自您的 ajax 请求。这在类似情况下对我有用。

【讨论】:

  • 哇。这是出乎意料的
  • @AbdulSaleem 删除 dataSrc 参数后,我收到“DataTables warning: table id=tbTest- Requested unknown parameter”错误,
  • @Light 你看到那个错误意味着,你已经成功接收到数据。现在你面临下一个问题。当您要求某些列并且您收到的数据中不存在该列时,会出现未知参数问题
【解决方案2】:

首先你需要获取数据作为数据集,然后设置数据表并将数据集设置为数据。

  $('#example').DataTable({
                     select: {
                            style: 'multi'
                        },
                        data: dataSet,
                        columns: [
                            { title: "Kundenavn" } 
                        ],
                        paging: false,
                        searching: false,
                        destroy: true,

                    });

【讨论】:

    【解决方案3】:

    确保您的列名与数据库中的字段名称相同。 注意:Datatable 将每个列名的第一个字母大写。您的 HTML 列名应为小写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多