Table markup:
<table assets-treegrid ng-model="assets" fit="true" pagination="true"
rownumbers="true" singleselect="true" idField="id" treeField="name"></table>
Controller:
explorer.directive('assetsTreegrid', function () {
return {
restrict: 'AE',
require: 'ngModel',
link: function (scope, elem, attrs, ngModel) {
$(elem).treegrid({
columns: [[
{ field: "name", title: "Name", width: "92%" }
]],
onSelect: scope.assetChanged
});
ngModel.$render = function (value) {
$(elem).datagrid('loadData', ngModel.$viewValue);
}
}
}
});
.......
$scope.assets = { total: rows.length, rows: rows };
The same technique works for a number other tables including treegrids.