智能表 - 从代码设置页面

时间:2015-04-28 13:46:03

标签: angularjs smart-table

我正在使用非常好的表库Smart-table来显示我的数据。

我正在使用自定义分页模板。但是,我希望能够从代码中设置第1页。我已经阅读了它暴露的st-pipe指令,但是如果我实现它,我似乎需要自己重新编写整个过滤/分页/排序代码。

我采用一种简单的方法,以编程方式设置我的表tintColor

中存在的st-pagination指令之外的页面
tfoot

我希望能够从<table st-table="displayedCollection" st-safe-src="tags" class="table table-hover"> <tbody> <tr st-select-row="tag" st-select-mode="single" ng-repeat="tag in displayedCollection" ng-click="click(tag)"> <td> <span editable-text="tag.name" e-placeholder="enter a display name..." e-name="name" e-form="editableForm" e-required> {{tag.name}}</span> </td> <td> <span editable-text="tag.path" e-placeholder="enter actual value to be used..." e-name="path" e-form="editableForm" e-required> {{tag.path}}</span> </td> <td> <form editable-form shown="newItem == tag" onshow="onShow()" name="editableForm" oncancel="oncancel(newItem)" onaftersave="saveForm(tag)"> <!-- EDIT --> <button type="button" class="btn btn-sm btn-default" ng-click="editableForm.$show()" tooltip="Edit" tooltip-placement="left" ng-hide="editableForm.$visible"> <i class="fa fa-pencil-square-o fa-lg"></i> </button> </form> </td> </tr> </tbody> <tfoot> <tr> <td colspan="1" class="text-left"> <div st-template="app/partials/pagination.html" st-pagination="" st-items-by-page="pager.itemsOnPage"></div> </td> <td colspan="1"> <div class="btn-group btn-group-sm pull-right ng-scope"> <button type="button" ng-class="{'active':pager.itemsOnPage==5}" ng-click="pager.itemsOnPage=5" class="btn btn-default">5</button> <button type="button" ng-class="{'active':pager.itemsOnPage==10}" ng-click="pager.itemsOnPage=10" class="btn btn-default">10</button> <button type="button" ng-class="{'active':pager.itemsOnPage==20}" ng-click="pager.itemsOnPage=20" class="btn btn-default">20</button> <button type="button" ng-class="{'active':pager.itemsOnPage==30}" ng-click="pager.itemsOnPage=30" class="btn btn-default">30</button> </div> </td> </tr> </tfoot> </table> 部分<form>指令设置页面。

有人知道这是否可行?非常感谢。

1 个答案:

答案 0 :(得分:9)

从代码使用st-pagination的selectPage()函数设置angular-smart-table页码。

你的HTML有一个像这样的paginator元素:

<div id="pagerId" st-pagination="" st-items-by- ...

您可以在指令

中使用这样的代码
function setPage(pageNumber)
{
    angular
       .element( $('#pagerId') )
       .isolateScope()
       .selectPage(pageNumber);
}

您需要安装jQuery才能使用$。我从上一个例子中得到了这个想法:http://lorenzofox3.github.io/smart-table-website/