溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Angular表格神器ui-grid怎么用

發(fā)布時(shí)間:2021-08-18 15:06:55 來(lái)源:億速云 閱讀:155 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下Angular表格神器ui-grid怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

HTML:  (代碼僅用于解釋得更清楚,并未完全展示)

<!doctype html>
<html ng-app="app">
 <head>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-touch.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-animate.js"></script>
  <script src="http://ui-grid.info/docs/grunt-scripts/csv.js"></script>
  <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script>
  <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script>
  <script src="/release/ui-grid.js"></script>
  <script src="/release/ui-grid.css"></script>
  <script src="app.js"></script>
 </head>
 <body>
  <div ng-controller="MainCtrl">
   <div id="user-grid" ui-grid="gridOptions" class="user-grid" ui-grid-resize-columns></div></div>
  </div>
 </body>
</html>

ui-grid-resize-columns:使列可以改變寬度,像這樣:

Angular表格神器ui-grid怎么用

 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:'手機(jī)號(hào)', width: 200},
        {field: 'userName', displayName:'用戶名', width: 100},
        {field: 'unitName', displayName:'單位', width: 300},
        {
          field: 'createTime', displayName: '注冊(cè)時(shí)間', width: 200,
          cellTemplate: '<div class="ui-grid-cell-contents"><span ng-bind="grid.appScope.rDateFormat(row.entity.createTime)"></span></div>'
        },
        {
          field: 'roleList', displayName: '類型', width: 200,
          cellTemplate: '<div class="ui-grid-cell-contents"><span ng-repeat="item in row.entity.roleList" >{{item.roleName}}</span></div>'
        },
        {
          field: 'accountId', displayName: '詳細(xì)信息', width: 200,
          cellTemplate: '<div class="ui-grid-cell-contents">
                   <button type="button" 
                       ng-click="grid.appScope.showAccountDetail(row.entity.roleList, row.entity.accountId)"
                        class="btn-primary btn">查看詳情</button></div>'
        }
      ]
    }; 
    $scope.gridOptions.data = [
     {
       'accountName':'15555555555',
       'userName':'浮生若夢(mèng)',
       'unitName':'無(wú)',
       'createTime':1506661676435,
       'roleList':[{roleName:'前端','roleId':2},{roleName:'后端','roleId':3}],
       'accountId':201
     },
     {
       'accountName':'15555555555',
       'userName':'浮生若夢(mèng)',
       'unitName':'無(wú)',
       'createTime':1506661676435,
       'roleList':[{roleName:'前端','roleId':2},{roleName:'后端','roleId':3}],
       'accountId':201
     }
    ]

}]);

效果如下:

Angular表格神器ui-grid怎么用

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

設(shè)置ui-grid格式:通過(guò)html中的ui-grid='gridOptions' (gridOptions可以自己定義) 再通過(guò)$scope.gridOptions來(lái)綁定

在上面的代碼中:

enableSorting:定義是否排序
對(duì)于列的定義columnDefs中:
field就是表格數(shù)據(jù)$scope.gridOptions.data中的字段,
displayName就是顯示在表格中的顯示的列項(xiàng)名,如果沒(méi)有定義,那么顯示的就是field的名稱

ui-grid怎么單獨(dú)定義一個(gè)單元格的樣式?比如做成一個(gè)按鈕。

可以使用cellTemplate屬性,但是需要注意的是,單元格定義的html中如果要綁定函數(shù),并不能像angular常規(guī)的來(lái)綁定,需要在綁定的函數(shù)前加上“grid.appScope”,比如“grid.appScope.func()”
ui-grid如果要將某行的某個(gè)數(shù)據(jù)傳入函數(shù)中需要使用這樣的形式:“row.entity.createTime”,creatTime就是你要傳入的參數(shù)的名稱(對(duì)應(yīng)于“field”)
表格的數(shù)據(jù)可以通過(guò)請(qǐng)求后端接口來(lái)獲取,賦值給$scope.gridOptions.data,需要注意數(shù)據(jù)格式是否符合要求,否則就要先處理好。

看完了這篇文章,相信你對(duì)“Angular表格神器ui-grid怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI