如何以编程方式更新 ui-grid 中的排序指示器?

2024-02-21

我正在使用 ui-grid - v3.0.0-rc.22 - 2015-06-15。

它被配置为使用外部排序,效果很好。

现在我需要使用选择框从外部更改排序列。每次更改选择框时,它都会触发外部排序,并且网格中的数据会正确更新。它还更新 gridOptions.columnDefs:它将除正确列之外的所有列的排序对象设置为未定义,并更新已排序的列。

但有一个问题,当前排序的列指示器(在列标题中)没有按应有的方式更新。

我尝试使用 gridApi.core.notifyDataChange() 和“选项”或“列”作为参数值,但它也不起作用。 如何以编程方式更新 ui-grid 中的排序指示器?

这是由选择框触发的部分代码:

    function updateSortColumn() {
        if ($rootScope.QuickSearch.sortBy !== undefined) {
            $scope.gridOptions.columnDefs.forEach(function (col) {
                if (col.field === $rootScope.QuickSearch.sortBy) {
                    col.sort = {
                        direction:  $rootScope.QuickSearch.sortOrder,
                        priority: 0
                    };
                }
                else
                {
                    col.sort = undefined;
                }
            });
        }
        if($scope.gridApi !== undefined)
        {
            $scope.gridApi.core.notifyDataChange( uiGridConstants.dataChange.OPTIONS );
            $scope.gridApi.core.notifyDataChange( uiGridConstants.dataChange.COLUMN );
        }
    }

您可以使用 ui-grid 的函数“sortColumn”,如下所示:

$scope.gridApi.grid.sortColumn(column, directionOrAdd, add)

这是该函数的源代码:ui-网格源代码 https://github.com/angular-ui/ui-grid/blob/f5961286a9f5a21be4c4314252ecf3571ecf28bf/src/js/core/factories/Grid.js

在你的例子中它会给出这样的东西:

 function updateSortColumn() {
        if ($rootScope.QuickSearch.sortBy !== undefined) {
            $scope.gridOptions.columnDefs.forEach(function (col) {
                if (col.field === $rootScope.QuickSearch.sortBy) {
                    $scope.gridApi.grid.sortColumn(col,$rootScope.QuickSearch.sortOrder);
                }
            });
        }
    }

$rootScope.QuickSearch.sortOrder 必须位于 (uiGridConstants.ASC|uiGridConstants.DESC) 中。您不必提供它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式更新 ui-grid 中的排序指示器? 的相关文章

  • 在 angularjs 模块初始化期间有条件地注入依赖项

    我有一个角度模块 我想有条件地将依赖项注入其中 IE var myapp angular module myapp ngRoute myappcontroller ngGrid I want to include ngGrid only i
  • 如何让 Angular-Flask 应用加载 html 部分?

    我试图让我的 Angular Flask 应用程序在基本 html 文件中渲染部分 HTML 文件 应用程序加载基本 html 窗口标题和页脚加载 但 ng view 没有加载任何内容 也许我到局部的角度路由不正确 文件结构 gt flas
  • Webpack 和 Angular HTML 图像加载

    我一直对 webpack 和 Angular 感到头疼 这可能有一个简单的答案 但我无法弄清楚 我已经阅读了堆栈溢出中关于这个主题的几乎所有答案 但都无济于事 我有一个像这样的 html 页面 还有其他包含图像的模板 img
  • AngularJS - 服务、工厂、过滤器等中的依赖注入

    因此 我想在我的 Angular 应用程序中使用一些插件和库 目前 我只是引用这些函数 方法 因为它们是在 99 的应用程序中以完全忽略依赖注入的方式使用的 我有 例如 javascript 库 MomentJS 它处理格式化和验证日期 并
  • AngularJS with Grunt - 连接到另一台服务器

    我使用 grunt bower 和 yeoman 创建了一个 AngularJS 应用程序 我猜想 Gruntfile js 在 2014 年 1 月之后发生了变化 不确定 这是我的gruntfile js Generated on 201
  • 当最初在范围内设置值时,日期选择器弹出格式不起作用

    我正在使用 Angular UI 引导日期选择器弹出窗口 并在 Plunker 上使用此自定义指令 http plnkr co edit 053VJYm1MpZUiKwFTfrT p preview http plnkr co edit 0
  • AngularJS - RouteProvider 解析调用服务方法

    我创建了一项检查用户登录状态的服务 如果令牌存在 则登录用户 否则重定向到登录页面 最初我通过routeProvider解析调用了这个服务 这一次就可以完美工作 但是由于Angularjs服务是单例的 因此测试不会针对连续调用运行 然后 我
  • AngularStrap 工具提示禁用我的自定义指令

    我正在尝试让 bs tooltip AngularStrap 指令与我自己的名为 checkStrength 的自定义指令一起使用 该指令检查密码的强度 单独使用这些指令中的任何一个时 它们都可以正常工作 但不能一起工作 This http
  • Angularjs : $locationProvider.hashPrefix("!") ;

    我想将网址显示为 www test com 因为我正在使用 locationProvider hashPrefix 但它显示网址为 www test com 我想 哈希之前而不是哈希之后 Thanks var app angular mod
  • Angular JS - 如何在模型更改时制作动画?

    当 currentVertical 改变时 我试图做一个很好的淡出 淡入过渡 在淘汰赛中 这很简单 但我在这里无法弄清楚 请帮忙 以下代码显示一个 UL 列表 当单击 LI 元素时 该列表 绑定 到 scope currentVertica
  • 未捕获的 ReferenceError:未定义角度 - Mean.IO

    我已遵循安装步骤 http mean io docsmean io 但是当我浏览 localhost 3000 时 我得到一个空白页面 当我打开控制台时 我得到一个指向相同错误的文件列表 未捕获的引用错误 角度未定义 我的问题是类似的to
  • 打开 md-calendar 时滚动到当前日期

    目前正在构建一个使用 Angular Material 的应用程序 我们需要一个 md calendar 组件 我们想要自定义按钮样式和内容 因此不使用普通的 md datepicker 问题是 当 md calender 打开时 滚动位置
  • Angularjs:两种方式的数据绑定和控制器重新加载

    如果使用路由和控制器 则模型不会在控制器重新加载之间保存其状态 Angular 在每个路由负载上创建控制器实例和新范围 例如 我在输入中键入具有 ng model something 的内容 转到另一条路线 然后返回第一条路线 我输入的所有
  • 如何知道在Angular JS中选择了哪个元素

    我制作了多个选定的弹出窗口 用户可以在其中选择多个值 我想在屏幕上打印所有选定的值或获取一个对象 其中包含用户选择的所有元素 我将换句话说 在我的演示中 我在屏幕上有一个按钮 单击按钮时 我会打开一个弹出窗口 其中有多个选定的元素我想获取用
  • 如何像在 localStorage 中一样从 localForage 分配变量?

    请帮我解决以下问题 我一直在将我的 AngularJS 应用程序从 localStorage 转换为 localForage 在我的应用程序中 我像这样分配 localStorage 值 window localStorage setIte
  • 是否可以将 RestAngular.setBaseUrl 用于两个 api 访问点?

    是否可以使用具有 2 个不同 API 的 Restangular 来工作 我想拥有setBaseUrl 对彼此而言 只需创建两个或多个 Restangular 服务并根据需要配置它们 然后注入您想要使用的模块 UPDATE 这段代码来自 r
  • Angularjs 完整日历不显示事件

    我正在用那个https github com angular ui ui calendar https github com angular ui ui calendar在 Angularjs 中使用 FullCalendar 它显示日历并
  • ng-model 中的传递函数

    例如 是否可以将函数传递到 ng model 中
  • 我如何在 AngularJS 中监听点击并按住的情况?

    我制作了一个时间计数器 您可以通过单击按钮来增加或减少时间 然而 我希望当我单击并按住按钮时 时间的价值会不断攀升 所以目前如果你看到我的Plunkr http plnkr co edit BxX9x5zYFMXVqt5JsN1F p pr
  • 当 Angular 由于数据更改而完成更新布局时如何调用函数

    我有一个 ng repeat 指令 它显示链接列表 它工作正常 但我的代码还有一个 JavaScript 函数 它根据列表的尺寸放置列表 当然 在 Angular 完成数据绑定和修改 DOM 之前 列表的维度是未知的 如果我在数据更改后立即

随机推荐

  • 如何使 Apache mod_deflate 和 Transfer-encoding : Chunked 一起工作?

    我正在尝试在我们的网站上使用大管道概念 这意味着尝试以块的形式发送响应 而不是整体发送响应 以便用户感觉该页面很快 我通过在 java 中的响应对象上使用flushBuffer方法成功地做到了这一点 但是现在 当我尝试使用 apache m
  • 浮点到字符串:字符串长度问题

    我想将浮点值转换为字符串并创建以下简短示例 with Ada Text IO procedure Example is A constant Float 1 234 B constant Float 123 456 789 C consta
  • 寻找一种算法以(伪)随机顺序吐出数字序列

    假设我有一个数字序列 n n 1 n 2 n m 在不提前存储数字的情况下 我想创建一个函数 f 给定序列 1 2 3 m 将以随机 或至少伪随机 顺序吐出原始集合 例如 假设我的序列是 10 11 12 13 14 15 16 17 f
  • UWP - 调试器已附加到 .exe 但未配置

    I m developing Windows Store App UWP and I have a problem with native code I have this message 此代码第二次或第三次触发后抛出此异常 if Pro
  • 删除 DCG 中的左递归 - Prolog

    我在这个语法中遇到了一个关于左递归的小问题 我正在尝试用 Prolog 编写它 但我不知道如何删除左递归
  • 添加另一个对象时出现 java.util.ConcurrentModificationException

    我正在遭受这个例外 我的代码有什么问题 我只想将另一个人的重复名字分开ArrayList public class GlennTestMain static ArrayList
  • 保存时,将添加的文本视图位置保留在图像视图上

    有一个主要活动有两个按钮 一个是 添加文本 另一个是 保存图像 这是主要布局的一部分
  • 在 iOS 6 上使用 AFNetworking 下载文件

    我最近更新到 AFNetworking 2 0 文档说兼容iOS6 0 当我尝试实现下载方法 图像和视频 时 我正在构建一个 iOS 6 0 应用程序 示例使用 AFURLSessionManager manager AFURLSessio
  • 始终生成为 h2 DDL 中的身份

    在我们的项目中 我们使用 postgres 数据库作为开发到生产环境 对于 junit 测试 我们在内存数据库中使用 H2 想知道我们是否可以使用 GENERATE ALWAYS AS IDENTITY 创建 DDL 以在 H2 数据库中插
  • nohup 作为后台任务不返回提示

    我试图在后台运行一个长时间运行的任务 而无需登录并让终端返回提示 但是当我这样做时 该任务似乎进入后台 但我的提示不可用 除非我按 Control C 我想运行任务然后得到提示 staging php pos web nohup php t
  • 如何解析 Scala 中的命令行参数? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 Scala 中解析命令行参数的好方法是什么 Related 如何解析 Java 中的命令行参数 https stackoverflow co
  • android jdbc odbc 连接

    我想将 odbc 连接连接到我的 Android 应用程序 我的数据库是oracle 10g 在我的代码中 我的表名称是 world 编译我的程序并关闭模拟器在 oracle 数据库中打开的表后 无法存储值 我在 cmp 中编译普通 jav
  • 使用 pandas.cut 和 IntervalIndex 后如何重命名类别?

    我使用离散化数据框中的一列pandas cut与创建的垃圾箱IntervalIndex from tuples 剪切按预期工作 但是类别显示为我在IntervalIndex 有什么方法可以将类别重命名为不同的标签 例如 小号中号大号 Exa
  • 如何使用 CSS 定位文本输入字段?

    假设您有以下 HTML
  • 使用JAVA从jar文件中读取MANIFEST.MF文件

    有什么方法可以读取 jar 文件的内容吗 就像我想读取清单文件以便找到 jar 文件的创建者和版本一样 有什么办法可以达到同样的目的 下一个代码应该有帮助 JarInputStream jarStream new JarInputStrea
  • 正则表达式匹配两个不相等的数字

    我想知道如何匹配两个不同的数字 所以 匹配 12 就可以了 但不能匹配 11 到目前为止我所拥有的是 我必须匹配像 P12 这样的字符串 我已经用这个正则表达式完成了 P 1 6 1 1 6 1 但现在我的问题是如何仅匹配 P12 或 P3
  • 应用程序之间的对象共享?

    假设我有一个每秒更新 1000 多次的大型数据数组 另一个应用程序想要在短时间内访问和读取数组 两个应用程序都在同一台机器上 我曾尝试使用 WCF 进行进程间通信 但每秒序列化和发送整个数组 或大型对象 数千次在性能方面是不可行的 有没有办
  • 如何优化连字符

    我正在努力解决浏览器处理逐行对齐文本连字的不同方式 我的文本有以下 css 设置 text align justify webkit hyphens auto moz hyphens auto ms hyphens auto hyphens
  • 为什么Android中只有UI线程才能更新UI?

    有人可以向我解释一下为什么Android中只有UI线程可以更新UI吗 为什么其他线程不能更新 UI 文档 https developer android com guide components processes and threads
  • 如何以编程方式更新 ui-grid 中的排序指示器?

    我正在使用 ui grid v3 0 0 rc 22 2015 06 15 它被配置为使用外部排序 效果很好 现在我需要使用选择框从外部更改排序列 每次更改选择框时 它都会触发外部排序 并且网格中的数据会正确更新 它还更新 gridOpti