Angular表格神器ui-grid应用详解

本文实例为大家分享了Angular表格神器ui-grid的具体代码,供大家参考,具体内容如下

HTML:  (代码仅用于解释得更清楚,并未完全展示)



 
  
  
  
  
  
  
  
  
  
 
 
  

ui-grid-resize-columns:使列可以改变宽度,像这样:

 Jvar app = angular.module('app', ['ngTouch', 'ui.grid']);

app.controller('MainCtrl', ['$scope', function ($scope) {

i18nService.setCurrentLang("zh-cn");
    $scope.gridOptions = {
      enableSorting: true,
      columnDefs: [
        {field: 'accountName', displayName:'手机号', width: 200},
        {field: 'userName', displayName:'用户名', width: 100},
        {field: 'unitName', displayName:'单位', width: 300},
        {
          field: 'createTime', displayName: '注册时间', width: 200,
          cellTemplate: '
' }, { field: 'roleList', displayName: '类型', width: 200, cellTemplate: '
{{item.roleName}}
' }, { field: 'accountId', displayName: '详细信息', width: 200, cellTemplate: '
' } ] }; $scope.gridOptions.data = [ { 'accountName':'15555555555', 'userName':'浮生若梦', 'unitName':'无', 'createTime':1506661676435, 'roleList':[{roleName:'前端','roleId':2},{roleName:'后端','roleId':3}], 'accountId':201 }, { 'accountName':'15555555555', 'userName':'浮生若梦', 'unitName':'无', 'createTime':1506661676435, 'roleList':[{roleName:'前端','roleId':2},{roleName:'后端','roleId':3}], 'accountId':201 } ] }]);

效果如下:


ui-grid使用中文:i18nService.setCurrentLang("zh-cn");

设置ui-grid格式:通过html中的ui-grid='gridOptions' (gridOptions可以自己定义) 再通过$scope.gridOptions来绑定

在上面的代码中:

enableSorting:定义是否排序
对于列的定义columnDefs中:
field就是表格数据$scope.gridOptions.data中的字段,
displayName就是显示在表格中的显示的列项名,如果没有定义,那么显示的就是field的名称

ui-grid怎么单独定义一个单元格的样式?比如做成一个按钮。

可以使用cellTemplate属性,但是需要注意的是,单元格定义的html中如果要绑定函数,并不能像angular常规的来绑定,需要在绑定的函数前加上“grid.appScope”,比如“grid.appScope.func()”
ui-grid如果要将某行的某个数据传入函数中需要使用这样的形式:“row.entity.createTime”,creatTime就是你要传入的参数的名称(对应于“field”)
表格的数据可以通过请求后端接口来获取,赋值给$scope.gridOptions.data,需要注意数据格式是否符合要求,否则就要先处理好。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Angular表格神器ui-grid应用详解)