Smart-table - 从代码设置页面
Smart-table - Setting page from code
我正在使用非常好的 table 库 Smart-table 来显示我的数据。
我正在使用自定义分页模板。但是,我希望能够从代码中设置第 1 页。我已经阅读了它公开的 st-pipe 指令,但如果我实现它,似乎我需要自己重新编写整个 filtering/pagination/sorting 代码。
我想通过一种简单的方法从我的 table 的 tfoot
中存在的 st-pagination
指令外部以编程方式设置页面
<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>
部分 onshow
指令设置页面。
有人知道这是否可行吗?非常感谢。
要通过代码使用 st-pagination 的 selectPage() 函数设置 angular-smart-table 页码。
您的 HTML 有这样的分页器元素:
<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/
我正在使用非常好的 table 库 Smart-table 来显示我的数据。
我正在使用自定义分页模板。但是,我希望能够从代码中设置第 1 页。我已经阅读了它公开的 st-pipe 指令,但如果我实现它,似乎我需要自己重新编写整个 filtering/pagination/sorting 代码。
我想通过一种简单的方法从我的 table 的 tfoot
st-pagination
指令外部以编程方式设置页面
<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>
部分 onshow
指令设置页面。
有人知道这是否可行吗?非常感谢。
要通过代码使用 st-pagination 的 selectPage() 函数设置 angular-smart-table 页码。
您的 HTML 有这样的分页器元素:
<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/