【问题标题】:Updating slickgrid autocomplete fields without rerendering the grid更新 slickgrid 自动完成字段而不重新渲染网格
【发布时间】:2017-09-24 12:12:12
【问题描述】:

我在共享点环境中使用 SlickGrid 来显示和更新数据。为了节省加载时间,我使用仅在前几行中使用过的选项填充自动完成字段(表超过 50 行),然后我想让用户选择单击“元数据刷新按钮”位于自动完成字段的顶部,它将获取所有可用选项以重新填充自动完成字段。

<table><tr><td>[ TextField ] </td><td>[ AutoComplete1 ] </td><td>[ AutoComplete2]</td></tr>
<tr><td>Entry1</td><td>Hello</td><td>Goodbye</td></tr>
<tr><td>Entry2</td><td>Hi</td><td>Later</td></tr>
</table>

因此,如果用户要创建一个新行,他们将在第 2 列中选择 Hello 和 Hi,在第 3 列中选择 Goodbye 或 Later,因为它们之前已经使用过。如果他们想要“万岁!”这个选项。要出现在第 2 列中,他们必须单击第 2 列的“更新元数据”按钮,这将刷新该列中的所有单元格,其中包含所有可用但以前未使用的选择。

我知道这并不理想,但这是给我的要求。

我知道如何向列标题添加按钮,并且我正在更新网格为自动完成列所需的数据数组,但我不知道如何在不重绘整个网格的情况下更新列选择。

有什么建议吗?

【问题讨论】:

    标签: autocomplete slickgrid


    【解决方案1】:

    查看我的 repo 中的新示例:https://github.com/6pac/SlickGrid/wiki/Examples

    这可能最接近您想要的: http://6pac.github.io/SlickGrid/examples/example-autocomplete-editor.html

    我过去所做的是创建单元格节点的数据属性来存储对象,例如:

    $jqacContainer.data('queryautocomplete', jqac);
    

    然后很容易从单元节点获取对象。 但是,这需要对属性进行适当的清理以避免内存泄漏。这应该可以在editor.destroy() 中完成,但我认为我没有检查过极端情况,例如编辑器在完成之前滚动到屏幕外的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      相关资源
      最近更新 更多