我发布这个参考这个以前的帖子 服务器端分页+过滤+使用WebAPI进行ng-grid排序,希望能够最终得出一个简单但有效的使用ng-grid和外部数据源的样本.到目前为止,我已经设法实现了外部分页和排序,但我遇到了过滤问题.
它看起来像NG网过滤选项filterText属性未绑定到视图.当我在ng-grid的过滤器文本中键入内容时,我的$ watch-ed函数不会被调用,因此我没有机会向服务器请求过滤数据.然而,当用于例如分页或排序时,相同的监视表达式工作正常.
通过挖掘一下,我发现这篇文章https://github.com/angular-ui/ng-grid/pull/456关于这个领域的一个错误,但目前尚不清楚这是否仍然是一个悬而未决的问题.有人可以帮忙吗?这是相关的JS代码片段:
var app = angular.module('MyApp', ['ngGrid']);
app.controller('MainController', ['$scope', '$http', function ($scope, $http) {
$scope.items = [];
$scope.filterOptions = {
filterText: "",
useExternalFilter: true
};
$scope.totalServerItems = 0;
$scope.pagingOptions = {
pageSizes: [25, 50, 100],
pageSize: 25,
currentPage: 1
};
$scope.sortOptions = {
// omitted for brevity...
};
$scope.gridOptions = {
data: "items",
columnDefs: [
{ field: "id", displayName: "ID", width: "60" },
{ field: "name", displayName: "Name", pinnable: true }, …Run Code Online (Sandbox Code Playgroud) 我如何在ng-Grid中实现双击事件?更具体地说,我希望双击打开弹出模式(Angular UI Modal)进行编辑.
关于如何做到这一点的任何想法?
我试图了解伟大的Ng-Grid模块.我发现它是一个非常棒的模块,但是我在使用单元格中的id号作为链接时遇到了问题.我的columnDefs选项如下所示:
columnDefs: [
{field: 'name', displayName: 'Name', cellTemplate: '<div class="ngCellText"><a href="/#/monitor/ROWIDNUMBER">{{col.field}}</a></div>'},
{field: 'description', displayName: 'Description'},
{field: 'type', displayName: 'Type'}
]
Run Code Online (Sandbox Code Playgroud)
我想在名称列的href标记中添加/#/monitor/row.this.id.
在angularjs脚本中,我有"ng-grid"模块,在一列中,我想显示复选框控件而不是从json数据返回的true/false字符串.如果json变量为true,则必须选中该复选框,如果为false,则必须选中该复选框.
我想我必须使用模板,但我不知道如何.
如何显示复选框?有一些例子吗?
谢谢
我正在尝试使用UI-GRID中的cellTemplates自定义单元格.为此,我在.js文件中定义模板,如下所示:
var template1 = '<div class="div1">{{COL_FIELD}}</div>';
var template2 = '<div class="div2">{{COL_FIELD}}</div>';
var template3 = '<div class="div3">{{COL_FIELD}}</div>';
Run Code Online (Sandbox Code Playgroud)
我想将HTML代码与.js文件分开.有没有办法在一些.html文件中单独定义这些模板,并在.js文件中使用它们.?
请帮忙.
我的代码如下:
<div class="gridStyle" ng-grid="gridOptions" ng-show="flag"></div>
Run Code Online (Sandbox Code Playgroud)
当我将标志设置为true时,网格将无法正确呈现,如果在键盘上按F12键,则网格可以正确显示!
我希望有一个回调函数,每次单击一个单元格时都会触发该函数.因此,我使用以下回调:
gridAPI.cellNav.on.navigate($scope, function (newRowCol, oldRowCol)
Run Code Online (Sandbox Code Playgroud)
但问题是,当第二次点击相同的单元格时,我无法触发该功能.为此,应选择不同的单元格.因此,only-first-click-on-cell是这样的.
每次点击都可以触发任何回调吗?
任何人都知道如何从外部排序功能更新ng-grid?
我已将userExternalSort设置为true.然后,我有这个代码(Coffeescript):
$scope.$on 'ngGridEventSorted', (event, data) ->
console.log "Before sort " + $scope.recs[0].location
$scope.recs.sort (a, b) ->
if data.directions[0] = "asc"
return a.location > b.location ? 1 : -1
else
return a.location > b.location ? -1 : 1
console.log "After sort " + $scope.recs[0].location
Run Code Online (Sandbox Code Playgroud)
我的功能实际上排序.但是,ng-grid永远不会更新.我已经尝试了$ scope.$ apply()无济于事 - 它已经在$ apply中了.
谢谢.
ngGrid根据列类型将我的NULL单元格转换为0或空字符串("").我需要将其显示为"NULL".什么是有效的方式做到这一点?网格中可能会显示10,000多行数据.
Simple Plunker显示不良行为:http: //plnkr.co/edit/MwAotQ?p = preview
(注意0,""或$ 0.00而不是NULL).
谢谢!
- >> Josh << -
我正在使用cellTemplate在网格中显示数据,现在我必须在ng-grid中显示数据,我可以在一列中显示包含true或false值的数据,请指导我如何显示真假数据喜欢是或否,即,对于真值,我必须显示是和假值为否.请指导我做出所需的结果.