自动从json文件bootrtap-table创建头文件

时间:2016-02-24 19:26:09

标签: javascript json twitter-bootstrap bootstrap-table

我正在使用this bootstrap库,实际上一切正常。问题是,bootstrap-table能否依赖JSON文件自动生成头?我试图找到有关这方面的任何信息,但不幸的是。现在我的标题是从脚本生成的,例如:

function initTable() {
$table.bootstrapTable({
    height: getHeight(),
    columns: [{
        field: 'field1',
        title: 'title1',
        sortable: true

    }, {
        field: 'field2',
        title: 'title2',
        sortable: true
    }, {
        field: 'field3',
        title: 'title3',
        sortable: true
    }, {
        field: 'Actions',
        title: 'Item Operate',
        align: 'center',
        events: operateEvents,
        formatter: operateFormatter
    }
    ],
    formatNoMatches: function () {
        return "This table is empty...";
    }

});

有人如何自动生成标题?

1 个答案:

答案 0 :(得分:2)

从一个扁平的json文件填充是绝对可能的,但比单独的(苗条的和预先的)数据请求更难,因为标题和其他属性'可能'必须被猜到。

Ill显示基本方法,然后告诉你如何使用它可以使用平面文件,你可以或CANT影响格式(重要的一点,请参见结尾处的注释)。

制作一个单独的ajax请求,填充var colArray = [],或直接传入完成的回调。

例如,在回调(.done().success(),ect)中也调用包含表的js init代码的函数。

你可能会看起来像这样:

function initTable(cols) {
    cols.push({
            field: 'Actions',
            title: 'Item Operate',
            align: 'center',
            events: operateEvents,
            formatter: operateFormatter
        });
    $("#table").bootstrapTable({
        height: getHeight(),
        columns: cols,
        formatNoMatches: function () {
            return "This table is empty...";
        }

    });
}

$(document).ready(function(){
    $.ajax({
      method: "POST",
      url: "data/getColumns",
      // data: { context: "getColumns" }
      datatype: "json"
    })
    .done(function( data ) {
       console.log( "getCols data: ", data );
       // Prep column data, depending on what detail you sent back
       $.each(data,function(ind,val){
           data.sortable = true;
       });
       initTable(data);
    });
});

现在,如果你实际上坚持使用平面文件,请将ajax指向那个,然后意识到问题是你是否可以编辑内容。

如果是,则在其中添加columns数组,其中包含帮助构建列数组所需的任何基础数据(标题,字段名称等)。然后,如果需要,可以使用responseHandler去除列数组,如果它在加载到表中时会导致问题。

http://bootstrap-table.wenzhixin.net.cn/documentation/#table-options http://issues.wenzhixin.net.cn/bootstrap-table/(点击“查看来源”)。

如果不是,你不能编辑内容,只有字段名,那么请在.done()处理程序中使用你需要的任何字符串操作(str_replace(),等等)你想要的方式。