zoukankan      html  css  js  c++  java
  • Datatable 数据源

    数据源类型

    Datatable可以使用三种基本的JavaScript数据类型作为数据源

    • 数组(Arrays[])
    • 对象(objects{})
    • 实例(new myclass())
      目前使用过的为前两种,现以前两种为例进行讲解

    数组(Arrays)

    当使用数组作为数据源,每个数组元素的数量必须等于表中的列数

    var data = [
        [
            "Tiger Nixon",
            "System Architect",
            "Edinburgh",
            "5421",
            "2011/04/25",
            "$3,120"
        ],
        [
            "Garrett Winters",
            "Director",
            "Edinburgh",
            "8422",
            "2011/07/25",
            "$5,300"
        ]
    ];
    
    //然后 DataTables 这样初始化:
    $('#example').DataTable( {
        data: data
    } );
    

    对象(Objects)数组

    使用对象前,需要明确告诉 DataTables 那个属性对应那一列

    var data = [
          {
              "name":       "Tiger Nixon",
              "position":   "System Architect",
              "salary":     "$3,120",
              "start_date": "2011/04/25",
              "office":     "Edinburgh",
              "extn":       "5421"
          },
          {
              "name":       "Garrett Winters",
              "position":   "Director",
              "salary":     "$5,300",
              "start_date": "2011/07/25",
              "office":     "Edinburgh",
              "extn":       "8422"
          }
      ];
          //object可以如下初始化表格
      $('#example').DataTable( {
          data: data,
          //使用对象数组,一定要配置columns,告诉 DataTables 每列对应的属性
          //data 这里是固定不变的,name,position,salary,office 为你数据里对应的属性
          columns: [
              { data: 'name' },
              { data: 'position' },
              { data: 'salary' },
              { data: 'office' }
          ]
      } );
    

    数据源

    DataTables 支持三种数据源显示:

    • DOM
    • Ajax
    • JavaScript
      目前使用过前两种,现以前两种为例进行讲解

    DOM

    DataTables 初始化后,它会自动检查表格中的数据,如果存在即作为表显示的数据,这是使用 DataTables 最简单的方法,渲染已经存在的table
    注意,当使用DOM显示表,DataTables 将会把数据当做数组作为数据源
    DataTables还可以直接把 DOM 数据转化为自己的内部数据对象,示例如下:

    <button id="table_id_example_button">获取选中的行</button>
    <table id="table_id_example" class="display">
        <thead>
            <tr>
                <th>Column 1</th>
                <th>Column 2</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Row 1 Data 1</td>
                <td>Row 1 Data 2</td>
            </tr>
            <tr>
                <td>Row 2 Data 1</td>
                <td>Row 2 Data 2</td>
            </tr>
        </tbody>
    </table>
    
    $(document).ready( function () {
        var table = $('#table_id_example').DataTable({
             //这样配置后,即可用DT的API来访问表格数据
            columns: [
                {data: "column1"},
                {data: "column2"}
            ]
        });
        //给行绑定选中事件
         $('#table_id_example tbody').on( 'click', 'tr', function () {
            if ($(this).hasClass('selected')) {
                $(this).removeClass('selected');
            }
            else {
                table.$('tr.selected').removeClass('selected');
                $(this).addClass('selected');
            }
        } );
        //给按钮绑定点击事件
        $("#table_id_example_button").click(function () {
            var column1 = table.row('.selected').data().column1;
            var column2 = table.row('.selected').data().column2;
            alert("第一列内容:"+column1 + ";第二列内容: " + column2);
        });
    } );
    

    AJAX数据源

    $(document).ready(function() {
        $('#example').DataTable( {
            "ajax": '{% url "phone:operate_query_spread" %}?',
            "columns": [
                { "data": "name" },
                { "data": "position" },
                { "data": "office" },
                { "data": "extn" },
                { "data": "start_date" },
                { "data": "salary" }
            ]
        } );
    } );
    
    

    参数链接:http://datatables.club/manual/data/

  • 相关阅读:
    Leetcode Binary Tree Level Order Traversal
    Leetcode Symmetric Tree
    Leetcode Same Tree
    Leetcode Unique Paths
    Leetcode Populating Next Right Pointers in Each Node
    Leetcode Maximum Depth of Binary Tree
    Leetcode Minimum Path Sum
    Leetcode Merge Two Sorted Lists
    Leetcode Climbing Stairs
    Leetcode Triangle
  • 原文地址:https://www.cnblogs.com/qev211/p/14848277.html
Copyright © 2011-2022 走看看