6

我正在使用以下库:http ://bootstrap-table.wenzhixin.net.cn/documentation/

我将 json 对象加载到这个工作正常的表中,但现在问题来了。我希望能够对列进行排序。

我的 Json 布局如下:

[{"Total": 12345.56, "Name": "Monkey1", "TotalFormatted": "$ 12.345,56"},{"Total": 13345.56, "Name": "Monkey3", "TotalFormatted": "$ 13.345,56"},{"Total": 11345.56, "Name": "Monkey2", "TotalFormatted": "$ 11.345,56"}]

  <table id="test" data-page-size="10" data-pagination="true" data-unique-id="true" data-show-footer="false">
                <thead>
                    <tr>
                        <th data-field="Name">Name</th>
                        <th data-field="TotalFormatted" data-sort-name="Total" data-sortable="true" data-align="right">TotalFormatted</th>
                    </tr>
                </thead>
            </table>

我想显示 TotalFormatted 数据,但我想用 Total 属性对该列进行排序,因为 TotalFormatted 不能用于此。在文档中,我看到了以下内容:

data-sort-name :提供可自定义的排序名称,而不是标题中的默认排序名称或列的字段名称。例如,一列可能显示“html”的字段名称的值,例如“ abc ”,但要排序的字段名称是“内容”,其值为“abc”。

但是数据如何没有正确排序,有没有人经历过这个或者我误解了什么?

4

1 回答 1

11

实际上data-sort-name不是这样工作的。option的主要目的data-sort-name是控制表数据的默认排序。

对于data-sort-name使用默认排序的选项,它需要指向data-field表中列的属性之一。

注意:简而言之data-field,就像添加到每列的 id,该data-sort-name选项指的是在加载时对表进行排序。

为了更好地理解这一点,这里有一个来自Bootstrap 站点的代码示例

  • 尝试将 更改data-sort-name为其中一列的data-field值并执行代码,您将理解我刚刚在上面解释的内容。

HTML 代码:

<table data-toggle="table"
   data-url="https://api.github.com/users/wenzhixin/repos?type=owner&sort=full_name&direction=asc&per_page=100&page=1"
   data-sort-name="stargazers_count"
   data-sort-order="desc">
<thead>
<tr>
    <th data-field="name" 
        data-sortable="true">
            Name
    </th>
    <th data-field="stargazers_count" 
        data-sortable="true">
            Stars
    </th>
    <th data-field="forks_count" 
        data-sortable="true">
            Forks
    </th>
    <th data-field="description" 
        data-sortable="true">
            Description
    </th>
</tr>
</thead>

现场演示@JSFIDDLE:http: //jsfiddle.net/dreamweiver/ptxj8Lao/

于 2015-07-20T15:05:04.023 回答