我的智能表中的所有列都有st-sort指令。当用户单击某列时,如何获取当前排序列?是否有一些技巧或我是否必须听取这些列标题上的click事件?
答案 0 :(得分:4)
您可以使用指令st-pipe,将调用此函数进行排序,分页或过滤事件。
lstSearch.Items.AddRange(myRequest.SearchRequest(txtSearch.Text));
答案 1 :(得分:2)
我认为能够为您提供最佳控制的技术将是创建一个插件,该插件将监视表状态的变化,并在检测到更改时调用提供的回调(在您的情况下,您将特别注意表状态的“排序”命名空间
module.directive('stSentinel',function (){
return{
require:'^stTable',
scope:{
onChange:'&stSentinel'
},
link:function(scope, element, attr, stTable){
scope.$watch(function(){
return stTable.tableState();
},function (newVal){
scope.onChange(newVal);
},
true)}
}
};
});
您可以在标记中使用
<table st-table="foo" st-sentinel="myCtrl.applyChange(tableState)"> ... </table>
您的控制器将定义applyChange方法以对更改做出反应