- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经实现了一个带有自定义选择模型的光滑网格以及自定义复选框选择插件。我还添加了组级别复选框,以允许在顶层切换选择。我的要求之一是仍然可以通过任何父级分组复选框选择折叠的分组。
我的绊脚石似乎是我无法弄清楚如何选择当前在组中不可见的行。光滑网格维护视觉上选择的项目集,而网格数据 View 维护完整的选定项目集(无论是否可见)。但是,当单击折叠行的组复选框时,我无法弄清楚如何通过管道传输数据。
我正在像这样配置我的网格:
let checkboxSelectionModel = new Slick.CheckboxSelectionModel();
this.grid.setSelectionModel(checkboxSelectionModel);
this.grid.registerPlugin(new Slick.Data.GroupItemMetadataProvider());
let onSelectedRowIdsChanged = this.dataProvider.syncGridSelection(this.grid, true, true);
onSelectedRowIdsChanged.subscribe(
function(e: any, args: any)
{
//business logic stuff
}
);
let groupedCheckboxSelector = new Slick.GroupedCheckboxSelectColumn({
cssClass: "slick-cell-checkboxsel",
onSelectedRowIdsChangedHandler: onSelectedRowIdsChanged
});
let columns = this.grid.getColumns();
columns.unshift(groupedCheckboxSelector.getColumnDefinition());
this.grid.setColumns(columns);
this.grid.registerPlugin(groupedCheckboxSelector);
gist to custom plugins, too long to include here具体来说,如果您查看 slick.checkboxselectionmodel
的 57
行:
$.each(dataItem.rows, function(index, groupRow) {
var groupRowIndex = _self._grid.getData().getRowById(groupRow.id);
if (groupRowIndex) {
selection.push(groupRowIndex);
}
});
groupRowIndex 永远不会解析隐藏行,因此永远不会被选中。我尝试在单击时展开该组,然后解析行,这可行,但是当随后折叠该组时,会在网格中选择错误的行。
任何帮助将不胜感激!
一些注意事项:
最佳答案
我相信功能解决方案可以让任何寻求类似行为的人走上正确的道路,但是,我不确定这些插件独立工作的效果如何。我的要求之一是只允许通过行复选框选择行。
一个问题(我确信很容易改进)是组级别复选框仍然需要在组格式运算符中定义
我的问题的主要解决方案是在进行组级选择/取消选择时展开所有折叠的组,执行任何选择/取消选择例程,然后折叠任何以前展开的组
当网格有大量数据(10k 行)时,此操作会失败。以赏金重新开放。
看来必须扩展和折叠如此多的组会导致性能下降,从而导致问题。
关于javascript - SlickGrid 多级分组与组级选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60061043/
如何在 slickgrid 中使某些行可编辑而某些行不可编辑? 最佳答案 设置 onBeforeEditCell 事件处理程序并返回 false 以防止单元格进入编辑模式。 关于slickgrid -
我有一个似乎无法解决的问题。我需要创建一个循环遍历数据集数组并为每个数据集创建一个独立的 slickgrids 的函数。问题是函数需要独立绑定(bind)到每个网格。例如: // this part
嗨,我已经尝试过这两个代码在 slickgrid 中插入新行。 代码1: data1.push({id: "12345", name: "secKey", field: "secKey", compl
我有一个 SlickGrid,用户可以在其中选择各种数据集。因此模式可以改变。因此,当用户选择新数据集时,我需要删除 SlickGrid 并重新开始,或者清除现有数据集。 什么是正确的方法?我应该删除
即使没有垂直滚动条,SlickGrid 始终在标题的最右侧保留一点空间。这个额外的空间看起来像是一个额外的列。我不想要这个额外的空间。 我没有找到任何暴露的 SlickGrid 组件的 API 来删除
我有惊人的SlickGrid配置为异步访问数据并将用户更改异步发布回服务器。一般而言,服务器可能会根据用户的更改修改一行的几个字段。因此,在更新行后,我希望 SlickGrid 仅刷新该行而不更改 V
是否可以将格式应用于 Slickgrid 中的特定行? 我知道您可以通过列应用格式规则 - 但我需要将格式规则应用于行。 即我的网格上有一个“总计”行 - 所以我想让该行加粗或从其他行中脱颖而出。 最
在 slickgrid 中,我可以使用 grid.SetSortColumn(colName,true/false) 设置排序列及其排序方向。 .这仅设置排序字形但不进行排序。有没有办法调用排序事件处
好的,让我更清楚地解释我的场景: 当一个单元格被编辑时,它会变得“脏”,我通过javascript向单元格添加一个CSS类以某种方式设置它的样式。 然后,如果用户对网格进行排序,样式就会丢失(我相信是
刚开始使用 SlickGrid,不确定我是否遗漏了什么,但是这个简单的代码似乎不起作用。它显示标题,但不显示行。 网格代码: var grid; var data = [ { ID: 1, VA
当用户按住鼠标按钮一段时间时,我试图在 Slick Grid 中弹出一个特殊菜单。菜单必须专门与该列相关,因此我需要以某种方式从该列中检索信息。由于在按住鼠标按钮期间会出现弹出窗口,因此我不能使用 o
我有一个 SlickGrid,其中包含不同数量的记录。应用程序代码将检索“ block ”中的数据,假设每个 block 有 25 条记录。 所以我的 SlickGrid 短时间内没有记录显示。然后前
我希望 slickgrid 根据最宽的内容或标题文本自动调整列的大小 - 以较宽者为准。简单来说,我希望它在调整列大小时模拟常规 HTML 表格的默认行为。我怎样才能在 slickgrid 中做到这一
我正在尝试在名为“图像”的列中插入图像,该列应仅包含图像。我正在从 Images 文件夹中获取图像 Dictionary.png,并在列初始化期间分配列中的路径。首先,图像不会显示在列单元格中,但占位
我注意到当发生验证错误时,用户会被锁定在该单元格中,直到错误得到解决。有没有办法让用户继续导航单元格? 这种方法对我有用 b/c 我在他们离开单元格时不提交,而是等到他们单击“保存”按钮。因此,当存在
我的一些列需要明确的宽度,而其他列应该填满所有可用空间。 有一个 forceFitColumns 选项,但它似乎忽略了我设置的任何显式宽度。我希望我的显式宽度得到尊重,并且隐式宽度能够被合理地估计。
使用固定标题行实现列级过滤器时,如何返回部分匹配的单元格? IE: 搜索词:“番茄” 退货:自动机、番茄等。 最佳答案 在示例中的 MyFilter 下替换此循环... for (var column
我需要禁用 slickgrid 水平滚动条。我只有一列并且有 forceFitColumns : true。 有可能吗? 谢谢 最佳答案 你可以用一点css来做到这一点。尝试将此添加到您的页面。
是否有一种可接受的方式来显示 slickgrid 表中的总行数。我看到有一个可以包含在我的页面上的寻呼机,但它带有用于分页的其他按钮/设置。 我正在使用没有分组的 DataView 对象。理想情况下,
我刚刚开始使用 slickgrid(作者 btw 的++) - 遇到了一些小问题 - 我想使用上下文编辑动态更新某些字段。编辑完成后,我希望将其发送到服务器,该服务器也应该验证发送的内容。如果出现错误
我是一名优秀的程序员,十分优秀!