欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery UI Grid 模态框中的表格实例代码

程序员文章站 2022-06-09 12:45:25
在弹出的模态框中使用表格。 在某些情况下,特别是 bootstrap modal,可能会出现表格渲染宽度过小或有时显示不完全。会误认为是由于 bootstrap moda...

在弹出的模态框中使用表格。

在某些情况下,特别是 bootstrap modal,可能会出现表格渲染宽度过小或有时显示不完全。会误认为是由于 bootstrap modal 的动画渲染导致表格渲染时的可用空间不如预期。可以通过调用handlewindowresize来纠正。动画渲染的时间不好确定,所以一般推荐使用$interval,在模态框打开后的5秒内每隔500ms循环调用。

从某种意义上说,这类似于自动调整大小的功能,但它只在模态框开启后的短时间内完成。

代码:

index.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">
  <button id="showbutton" class="btn btn-success" ng-click="showmodal()">show modal</button>
 </div>
 </body>
</html>

mian.css

.grid {
 width: 300px;
 height: 250px;
}

app.js

var app = angular.module('app', ['ngtouch', 'ui.grid']);
app.controller('mainctrl', ['$rootscope', '$scope', '$http', 'modal', '$interval', function ($rootscope, $scope, $http, modal, $interval) {
 var mymodal = new modal();
 $scope.hidegrid = true;
 $rootscope.gridoptions = {
 onregisterapi: function (gridapi) {
  $scope.gridapi = gridapi;
  // call resize every 500 ms for 5 s after modal finishes opening - usually only necessary on a bootstrap modal
  $interval( function() {
  $scope.gridapi.core.handlewindowresize();
  }, 500, 10);
  }
 };
 $http.get('/data/100.json')
 .success(function(data) {
  $rootscope.gridoptions.data = data;
 });
 $scope.showmodal = function() {
 mymodal.open();
 };
}]);
app.factory('modal', ['$compile', '$rootscope', function ($compile, $rootscope) {
 return function() {
 var elm;
 var modal = {
  open: function() {
  var html = '<div class="modal" ng-style="modalstyle">{{modalstyle}}<div class="modal-dialog"><div class="modal-content"><div class="modal-header"></div><div class="modal-body"><div id="grid1" ui-grid="gridoptions" class="grid"></div></div><div class="modal-footer"><button id="buttonclose" class="btn btn-primary" ng-click="close()">close</button></div></div></div></div>';
  elm = angular.element(html);
  angular.element(document.body).prepend(elm);
  $rootscope.close = function() {
   modal.close();
  };
  $rootscope.modalstyle = {"display": "block"};
  $compile(elm)($rootscope);
  },
  close: function() {
  if (elm) {
   elm.remove();
  }
  }
 };
 return modal;
 };
}]);

demo

jQuery UI Grid 模态框中的表格实例代码

以上所述是小编给大家介绍的jquery ui grid 模态框中的表格,希望对大家有所帮助