【问题标题】:ExtJS - Get array on DOM nodes in Grid, highlight()?ExtJS - 在网格中的 DOM 节点上获取数组,突出显示()?
【发布时间】:2011-08-09 21:28:03
【问题描述】:

这就是我想要完成的。我有一个网格,其中包含用户可以“批量更新”的条目,即用户可以从网格中选择一个或多个条目,从网格上方的表单中选择他们想要应用于所有条目的值,然后提交.

我想要完成的是在所有更改行上完成的 highlight()。我遇到的问题是我不知道如何一次对所有更改值运行 highlight() ,所以我一直在单独进行。我可能只是在错误的循环中运行。这是我正在做的更新值的操作。

// for every property we have in our batchUpdateValues
for (var propertyName in batchUpdateValues) {

    // change the selected banners attributes to match
    for (var i = 0 ; i < bannersToUpdate.length ; i++)
    {
        // if they've selected "Name", we only want to append, not replace"
        var oldName = bannersToUpdate[i].get('bannerName');
        if (propertyName == 'bannerName') {
            bannersToUpdate[i].set(propertyName, oldName +  ' ' + batchUpdateValues['bannerName']);
        } else {
            bannersToUpdate[i].set(propertyName, batchUpdateValues[propertyName]);
        }

        var changedRowId = this.getStore().indexOf(updatedBanners[i]);
        var changedRow = this.getView().getRow(changedRowId);
        Ext.get(changedRow).highlight();                   

    }                               
}

现在发生的情况是,如果用户选择 4 个“属​​性”来更新表单,高亮显示运行 4 次,所以我需要将该代码放在循环之外。如何获取每一行的所有 DOM 属性,然后在它们上运行高亮显示()?

【问题讨论】:

    标签: javascript extjs grid highlight


    【解决方案1】:

    我的第一个建议是确保您了解 SelectionModel。它在文档中有所描述。我会链接你,但我不确定你使用的是哪个版本。实际上,您使用的是哪个版本的 Ext JS? 这个问题的答案在 3.x 和 4.x 中可能有所不同。

    我很乐意提供更详细的回答,但我需要您举例说明。您能否用一些虚拟数据构建一个小表,然后在您谈论模型中的行/列时进行解释?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多