Bootstrap Datatables JSON类解析

shan.dye2

我的bootstrap datatable插件有问题我的课看起来像这样:

模型

public class Class1 {
  public string EmployeeID { get; set; }
  public string FirstName { get; set; }
  public Position Position { get; set; }

  public Class1 GetEmployees()
 {
  return this;
 }
}

public class Position {
  public string PositionID { get; set; }
  public string PositionName { get; set; }
//Other functions below
}

控制器

public JsonResult GetEmployees()
{
 return Json(new Class1().GetEmployees(), JsonRequestBehavior.AllowGet);
}

的HTML

   <table id="tblLeaveCredits"
    data-url="/Employees/GetEmployees" 
    data-toggle="table" 
    data-search="true"
    data-click-to-select="true"
    data-select-item-name="rdoSelectedItem"
    data-cache="false">
     <thead>
      <tr>
       <th data-field="state" data-radio="true"></th>
       <th data-field="FirstName" data-sortable="true">Description</th>
       <th data-field="Position.PositionName" data-sortable="true">Available</th>
      </tr>
     </thead>
   </table>

我的问题是,如何从Json返回中获取Position类的数据并将其显示为datatable中的字段?

偷渡

如上所述,似乎datatable插件没有选择将嵌套的json对象数组绑定到表。因此,我使用了客户端方法来展平嵌套的json-objects数组,以便能够将其绑定到数据表。参见我的演示将嵌套对象绑定到数据表

$(function () {
    // apply flattenJson to every item in the array and return a new array
    // using jQuery.map
    flattenedData = jQuery.map( data, function(d){ return flattenJson(d) });
    // bind the now unnested array to the datatable
    $('#table').bootstrapTable({
        data: flattenedData
    });
    console.log(flattenedData);
});

给定这个嵌套的json对象数组:

var data = [
    {
        "EmployeeID": "123",
        "FirstName": "Marc",
        "Position": {"PositionID": 1, "PositionName": "Supermarket"}
    },
    {
        "EmployeeID": "456",
        "FirstName": "Scott",
        "Position": {"PositionID": 2, "PositionName": "Googleplex"}
    },
    {
        "EmployeeID": "789",
        "FirstName": "John",
        "Position": {"PositionID": 3, "PositionName": "SanFran"}
    }    
];

为了弄平嵌套的json对象,我从以下答案中获取代码

function flattenJson(data) {
    var result = {};
    function recurse (cur, prop) {
        if (Object(cur) !== cur) {
            result[prop] = cur;
        } else if (Array.isArray(cur)) {
             for(var i=0, l=cur.length; i<l; i++)
                 recurse(cur[i], prop + "[" + i + "]");
            if (l == 0)
                result[prop] = [];
        } else {
            var isEmpty = true;
            for (var p in cur) {
                isEmpty = false;
                recurse(cur[p], prop ? prop+"."+p : p);
            }
            if (isEmpty && prop)
                result[prop] = {};
        }
    }
    recurse(data, "");
    return result;
}

要绑定现在未嵌套的对象,您可以使用此html

<table id="table">
    <thead>
    <tr>
        <th data-field="EmployeeID">ID</th>
        <th data-field="FirstName">Firstname</th>
        <th data-field="Position.PositionID">PositionID</th>        
        <th data-field="Position.PositionName">PositionName</th>        
    </tr>
    </thead>
</table>

那就是看到完整工作的演示将嵌套对象绑定到数据表

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

DataTables Bootstrap分页不呈现

来自分类Dev

Bootstrap DataTables 的分页与分页的区别

来自分类Dev

DataTables JSON解析错误-拒绝访问

来自分类Dev

通过DataTables JQuery覆盖Bootstrap Popover

来自分类Dev

Bootstrap Datepicker和DataTables fnDraw()问题

来自分类Dev

知道当前在Bootstrap DataTables中排序的列

来自分类Dev

如何解析从Datatables Ajax调用接收到的JSON?

来自分类Dev

DataTables 1.10从json解析aadata在HTML5上失败

来自分类Dev

DataTables:从JSON生成整个表

来自分类Dev

从json数组动态生成DataTables

来自分类Dev

省略号解决方案-Jquery + Bootstrap + Datatables

来自分类Dev

如何在jQuery Bootstrap DataTables插件中居中分页?

来自分类Dev

将DataTables与Bootstrap主题结合使用,jQuery $ .get函数

来自分类Dev

无法将Datatables与Bootstrap 3集成

来自分类Dev

jQuery datatables 1.10-首先检查json

来自分类Dev

将JSON数据放在JQuery DataTables上

来自分类Dev

使用DataTables呈现多维嵌套的JSON响应

来自分类Dev

Datatables编辑器json的Java结构

来自分类Dev

Datatables.Net不接受JSON响应

来自分类Dev

jQuery DataTables Ajax GET json格式

来自分类Dev

DataTables 的 JSON 数据中缺少根元素

来自分类Dev

DataTables Symfony 中的 JSON 响应无效

来自分类Dev

带有ajax调用捕获事件的datatables插件内的Bootstrap开关

来自分类Dev

如何在Bootstrap容器内移动dataTables搜索框?包含JSFiddle

来自分类Dev

Bootstrap DataTables-分页不适用于动态网格系统

来自分类Dev

jQuery DataTables-Bootstrap 3面板内部将导致搜索框和页码位置错误

来自分类Dev

DataTables警告:表格ID = DataTables_Table_0-无效的JSON响应

来自分类Dev

Bootstrap datetimepicker 解析数据

来自分类Dev

jQuery DataTables排除具有特定类的行

Related 相关文章

  1. 1

    DataTables Bootstrap分页不呈现

  2. 2

    Bootstrap DataTables 的分页与分页的区别

  3. 3

    DataTables JSON解析错误-拒绝访问

  4. 4

    通过DataTables JQuery覆盖Bootstrap Popover

  5. 5

    Bootstrap Datepicker和DataTables fnDraw()问题

  6. 6

    知道当前在Bootstrap DataTables中排序的列

  7. 7

    如何解析从Datatables Ajax调用接收到的JSON?

  8. 8

    DataTables 1.10从json解析aadata在HTML5上失败

  9. 9

    DataTables:从JSON生成整个表

  10. 10

    从json数组动态生成DataTables

  11. 11

    省略号解决方案-Jquery + Bootstrap + Datatables

  12. 12

    如何在jQuery Bootstrap DataTables插件中居中分页?

  13. 13

    将DataTables与Bootstrap主题结合使用,jQuery $ .get函数

  14. 14

    无法将Datatables与Bootstrap 3集成

  15. 15

    jQuery datatables 1.10-首先检查json

  16. 16

    将JSON数据放在JQuery DataTables上

  17. 17

    使用DataTables呈现多维嵌套的JSON响应

  18. 18

    Datatables编辑器json的Java结构

  19. 19

    Datatables.Net不接受JSON响应

  20. 20

    jQuery DataTables Ajax GET json格式

  21. 21

    DataTables 的 JSON 数据中缺少根元素

  22. 22

    DataTables Symfony 中的 JSON 响应无效

  23. 23

    带有ajax调用捕获事件的datatables插件内的Bootstrap开关

  24. 24

    如何在Bootstrap容器内移动dataTables搜索框?包含JSFiddle

  25. 25

    Bootstrap DataTables-分页不适用于动态网格系统

  26. 26

    jQuery DataTables-Bootstrap 3面板内部将导致搜索框和页码位置错误

  27. 27

    DataTables警告:表格ID = DataTables_Table_0-无效的JSON响应

  28. 28

    Bootstrap datetimepicker 解析数据

  29. 29

    jQuery DataTables排除具有特定类的行

热门标签

归档