【问题标题】:retrieve multiple data for jquery datatable检索 jquery 数据表的多个数据
【发布时间】:2023-03-30 15:47:01
【问题描述】:

我有一个数据表,它在客户端返回 25 条记录(共 100 条记录)。除了这 25 行之外,我还想要一个数组或任何包含所有 100 条记录的第一列的数据结构

我的代码:

var oTable = $('#tblClipart').dataTable({
        'bStateSave': true,        
        'bProcessing': true,
        'bServerSide': true,
        'aaSorting': [[6, 'desc']],
        'bFilter': false,
        'iDisplayLength': 25,
        'sPaginationType': "bootstrap",
        'sDom': 'Rlfrtlip',
        'aoColumns': [
            // Some Code
            ],
    'sAjaxSource': '/Handlers/Manage.ashx' // Handler page for providing data
});

处理程序代码

List<ClipartEntity> clipArtEntityList = null;
clipArtEntityList = //Get Data From Server - All 100 Records

var result = new
{
    iTotalRecords = totalRecords,
    iTotalDisplayRecords = totalRecords, //Display only first 25     
    /* ClipartIds = clipArtEntityList.Select(m => m.ClipartID ), Can add this line to retrieve just one column in array list */
    aaData = clipArtEntityList
        .Select(p => new[] { 
            Convert.ToString("C"+p.ClipartID), 
            p.ClipartName + Convert.ToString(p.Sequence), 
            Convert.ToString(p.CategoryName),           
            Convert.ToString(p.ClipartID),
            p.ClipartNameForSort
        })
        .Skip(iDisplayStart)
        .Take(iDisplayLength)
};

var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var json = serializer.Serialize(result);
context.Response.ContentType = "application/json";
context.Response.Write(json);

我可以将ClipartIds = clipArtEntityList.Select(m =&gt; m.ClipartID ), 添加到var result 变量中,以获取array 格式的所有100 条记录的第一列数据

但问题是如何在客户端检索它?

附:我不想再进行一次 ajax 调用来检索一列数据,因为我之前的 ajax 调用包含该数据。

【问题讨论】:

    标签: jquery ajax datatables


    【解决方案1】:

    您只需要使用fnServerData 回调。您已经创建了一个自定义ClipartIds 返回参数,因此要在客户端使用它,只需将回调添加到您的数据表初始化:

    var oTable = $('#tblClipart').dataTable({
        'fnServerData': function ( sSource, aoData, fnCallback ) {
                $.getJSON(sSource, aoData, function (json) {
                    // do something with the column of Ids
                    var clipartIds = json.ClipartIds;
                    fnCallback(json);
                });
            },
        'bStateSave': true,
        ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-30
      • 2021-03-06
      • 2014-01-02
      • 1970-01-01
      • 2012-10-06
      • 2011-12-23
      相关资源
      最近更新 更多