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/

  • 相关阅读:
    AgilePoint模型驱动BPM(业务流程管理)介绍
    WF从入门到精通(第五章):workflow跟踪 (转)
    昕友.亿达PM项目管理软件 结构草图
    C++之虚拟继承
    Using Batch Parameters
    Static 关键字 C and C++
    something about code coverage planning
    C++ 虚函数表
    C++ FAQ for me
    Drag and Drop in WPF
  • 原文地址:https://www.cnblogs.com/qev211/p/14848277.html
Copyright © 2011-2022 走看看