Angular UI 网格 - 选定行上的单击事件

2024-06-22

Target

我有一个 UI 网格。当我单击一行时,它应该被选中,并且应该调用以该行作为参数的函数。

目前的方法

我使用以下配置代码来生成网格:

$scope.gridOptions = {
        enableFiltering: true,
        enableRowHeaderSelection: false,
        enableRowSelection: true,
        multiSelect: false,
        noUnselect: true,
        onRegisterApi: function (gridApi) {
            $scope.gridApi = gridApi;
            $scope.gridApi.selection.on.rowSelectionChanged($scope, function (row) {
                var name = row.entity.name;
                $scope.addToQueue(name);
            });
        }
    };

Problem

当我实际更改选择时(如函数名称所示),上面的代码运行良好。但应该可以将一行多次添加到队列中。所以我想打电话$scope.addToQueue(name)即使该行已被选中。


对于要选择的行,单击时,我使用以下命令:

对所有列使用 SelectionCellTemplate:

 var selectionCellTemplate = '<div class="ngCellText ui-grid-cell-contents">' +
               ' <div ng-click="grid.appScope.rowClick(row)">{{COL_FIELD}}</div>' +
               '</div>';

 $scope.gridOptions.columnDefs = [        
    { name: 'name', displayName: 'Name', width: '15%', cellTemplate: selectionCellTemplate },       
   ];

然后将 rowClick() 方法定义为:

 $scope.rowClick = function (row) {       
    var index = row.grid.renderContainers.body.visibleRowCache.indexOf(row);
    $scope.gridApi.selection.selectRow($scope.gridOptions.data[index]);
};

我还将多重选择定义为 true

$scope.gridOptions.multiSelect = true;

因此,行单击将选择该行并将其添加到选定的行中。您可以访问这些选定的行(每行选择/取消选择都会触发):

$scope.gridOptions.onRegisterApi = function (gridApi) {
    //set gridApi on scope
    $scope.gridApi = gridApi;        
    gridApi.selection.on.rowSelectionChanged($scope, doSelection);
};

function doSelection(row) {      
    _.each($scope.gridApi.selection.getSelectedRows(), function (row) {
        //Do something //It is triggered for each row select/unselect         
    });
}

或者可以随时访问选定的行:

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

Angular UI 网格 - 选定行上的单击事件 的相关文章

随机推荐

  • 更新现有 Rdata 文件

    我发现自己需要更新先前使用创建的 Rdata 文件中的一两个数据对象save 如果我不小心加载文件 我可能会忘记重新保存文件中的某些对象 举个例子 我正在开发一个包 其中一些对象存储在sysdata rda 查找供内部使用的表 我不想导出
  • 字节序转换和 g++ 警告

    我有以下 C 代码 template
  • JQuery jQGrid 展开/折叠标题层上的网格单击

    有没有什么方法可以通过单击标题图层来展开 折叠网格 我有 3 个非常大的表格 显示在 1680x1050 屏幕上 默认加载 折叠 每次用户想要展开 折叠表格时 他必须单击标题层的展开 折叠按钮 这处于 非常远 的位置 您可以使用类似的构造
  • 将 Mongo 集合转储为 JSON 格式

    有没有办法将 mongo 集合转储为 json 格式 无论是在 shell 上还是使用 java 驱动程序 我正在寻找性能最好的一个 Mongo 包含一个 mongoexport 实用程序 参见文档 https docs mongodb c
  • Lisp reader 输入中的关键字有危险吗?

    在 Doug Hoyte 的 Let Over Lambda 的第 102 页上 作者这样描述他的安全读取字符串函数 这意味着向量 位向量 gensym 循环引用 和所有其他的都被淘汰了 安全读取字符串甚至不允许关键字或外国包符号 我绞尽脑
  • Google 应用内结算区分用户帐户

    我正在开发一个包含应用内计费非消耗产品 终身订阅 的应用程序 用户的设备上有一封与 Play 商店关联的电子邮件 设想 用户 A 使用以下命令创建新帐户 电子邮件受保护 cdn cgi l email protection并购买终身订阅和注
  • 包含一些 F[_] 的元组/hlist 上的通用变换/折叠/映射

    我最近问映射并减少 折叠 scalaz Validation 的 HList https stackoverflow com questions 26410100 并得到了关于如何转换固定大小的元组的一个很好的答案Va T 这是一个别名sc
  • CMake:运行链接命令时出错:%1 不是有效的 Win32 应用程序

    我正在尝试使用 CMake 在 64 位 Windows 8 1 上构建 NaCl 扩展 相同的代码在 Ubuntu 上运行没有任何问题 一切顺利 直到 CMake 尝试与此命令链接 cmake E cmake link script li
  • AWS DynamoDB 限制写入请求处理

    我有一个在指定时间限制写入请求的表 我想更多地了解 AWS SDK 如何处理它们 根据我目前的理解 DynamoDB 将向我的 Lambda 返回错误 这就是为什么我会在 DynamoDB 表指标中出现用户错误 但是 AWS SDK 具有错
  • 连接同一个表中的两个选择查询

    该表包含 ID 列 valueHeading 列和值列 我想将值列分成两个新列 分别称为 valueHeading1 和 valueHeading2 具体取决于值具有的 valueHeading 类型 所以我想加入这个选择 编辑 完全加入
  • 大 Iconfont 图标在右侧被切断

    我正在使用我的客户在网络应用程序的索引页上作为标题徽标提供的图标字体中的大图标 该徽标的宽度为设备宽度的 60 由一个大圆形徽标 约占图标的 40 和下方的文本组成 在纵向模式下 徽标宽度为设备宽度的 60 我得到了带有文本的徽标作为一个矢
  • 如何使用 shell 命令的结果初始化 CMake 变量

    有没有办法将 CMake 脚本中的变量设置为 shell 命令的输出 就像是SET FOO COMMAND echo bar 会想到 你想要的execute process https cmake org cmake help latest
  • iPhone 阻止键盘横向旋转

    因此 我在 MPMoviePlayerController 上放置了一些控件 并且我打算将其用于纵向模式 只需使用垂直拍摄的视频即可 我唯一的问题是 对于文本输入 键盘是横向显示的 现在 我意识到有一种未记录的方法来设置播放器的方向 但我不
  • 删除可能不存在的文件的最Pythonic方法

    我想删除文件filename如果存在的话 这么说合适吗 if os path exists filename os remove filename 有没有更好的办法 一种单行方式 更Pythonic的方式是 try os remove fi
  • Autoscaling launchconfig 组中的 aws cloudformation“NetworkInterfaces”

    在 aws cloudformation 中 如何在 Autoscaling launchconfig 组中添加 NetworkInterfaces 因为我想配置启动的每个实例 并且需要 NetworkInterfaces 位于相同的 AW
  • 是否可以包含 JSF 中一个文件夹中的所有 javascript 文件?

    我正在使用 JSF 2 0 并且正在寻找一种方法来包含页面上给定文件夹中的所有 javascript 即执行类似的操作
  • 如何在 python 中定义全局列表并向其附加本地列表

    我想定义一个全局列表并向其附加一个列表 我通过一些点击事件获得了一个列表 i 0 并将其附加到 mnum list 中 现在我想创建一个全局列表并将 mnum list 附加到其中 知道如何做到这一点吗 def OnClick self e
  • 将日期格式设置为 mm/dd/yyyy 文本

    一旦 mm dd yyyy 格式的日期与空格和文本连接起来 例如 05 03 2015 摘要报告 您如何将此连接的单元格复制到另一个单元格作为文本 但没有日期变成 42127摘要报告 CONCATENATE TEXT A1 月 日 年 总结
  • 致命错误 LNK1104:无法打开文件“libboost_system-vc110-mt-gd-1_51.lib”

    看来我无法让这个工作 我制作了一个简单的控制台应用程序 这取决于websocket 图书馆 需要Boost库 但是当我尝试编译时我得到 致命错误 LNK1104 无法打开文件 libboost system vc110 mt gd 1 51
  • Angular UI 网格 - 选定行上的单击事件

    Target 我有一个 UI 网格 当我单击一行时 它应该被选中 并且应该调用以该行作为参数的函数 目前的方法 我使用以下配置代码来生成网格 scope gridOptions enableFiltering true enableRowH