JQuery.BootGrid数据类型和数据格式化程序

时间:2015-08-14 12:17:35

标签: jquery jqgrid-formatter jquery-bootgrid

JQuery.BootGrid提供哪些数据类型和数据格式化程序? 或者数据类型和数据格式化器字段是JQuery DataTypes还是其他一些属性?如果是这样的什么是JQuery DataTypes? (我找不到关于那个的文档)

我想将列设置为货币(左边有一个美元符号),我该如何使用JQuery.BootGrid?

但我想了解一般的数据类型/数据格式化程序。我是否必须了解jqGrid格式化程序,或者bootGrid是一个完全不同的产品?

2 个答案:

答案 0 :(得分:3)

实际上我在过去8个月里一直在使用jquery bootgrid并使用其formatter函数重新格式化任何列。

在js文件中:

$("#grid").bootgrid({
  money: function(column, row) {
    return '$ '+row[column.id];
  },
  priceFormat: function(column, row) {
    return '<span class="price-format">'+row[column.id]+'</span>';
  }
});    

在html中:

<thead>
  <tr>
    <th data-column-id="id" data-identifier="true" data-type="numeric">ID</th>
    <th data-column-id="nama">Nama</th>
    <th data-column-id="merk">Merk</th>
    <th data-column-id="harga_limit" data-formatter="money">Harga Limit</th>
    <th data-column-id="harga_satuan" data-formatter="money">Harga Satuan</th>
    <th data-column-id="harga_total" data-formatter="priceFormat">Total</th>
  <tr>
</thead>

答案 1 :(得分:0)

Bootgrid数据类型:

结果data-type="numeric"是唯一支持的类型:

results on a search on the bootgrid github我了解到只支持一种显式类型:数字,其他任何内容都是javascript字符串。

数字数据类型与内部&#34;数字&#34;一起使用。转换器 - 来自字符串。

(在我的问题中我指的是JQuery数据类型defined here (click on this),但正如我刚才所说,这些与Bootgrid无关)

使用Bootgrid格式化程序

我知道格式化程序只是使用&#34;这个&#34;和网格对象(see here in the Bootgrid docs然后向下滚动到&#34;格式化程序&#34;)。

所以你可以写这样的代码:

// ... in continuation to the .bootgrid
$("#grid").bootgrid({
    formatters: {
        dollarformatter: function (column, row){
            // "this" - is mapped to the grid instance
            return '$ ' + this.rows[row][column]; 
        },
        myformatter: function (column, row)
        {
            // "this" - is mapped to the grid instance
            // text - here is defined by the next column's content
            return '<button id=\"mybutton' + row + '\"'
                   + ' type=\"button\"'
                   + ' class=\"btn btn-primary\"'
                   + ' onclick=\"mybuttonclicked(' + row + ')\"'
                   + '>'
                   + this.rows[row][column + 1]
                   + '</button>';
        }
    }
});    

我不是前端javascript专家,所以如果有更清晰的方法来编写这些代码行而没有所有的转义,请在此处告诉我。

谢谢。