簡體   English   中英

extjs4 - 過濾網格拖放

[英]extjs4 - filter grid drag and drop

我有2個網格,啟用了拖放功能。

在其中一個網格上,我需要檢查掉落的元素並過濾掉其中的一些元素。

我無法弄清楚如何做到這一點。 grid dd插件有2個事件:beforedrop和drop。

在beforedrop事件期間,我可以檢查每個丟棄的記錄是否正常,但是沒有明顯的方法來選擇被刪除的記錄的子集。 我似乎唯一的選擇是,如果我想完全取消丟棄,則返回false - 而我想只丟棄一個選擇的記錄子集。

掉落事件似乎為時已晚。

知道我怎么能這樣做嗎?

好的,我找到了一個解決方法。

想法是替換beforedrop中data參數的records屬性。

records屬性基本上是網格上放置的模型/記錄數組)

因此,使用此示例配置網格:

viewConfig: {
    plugins: {
        dropGroup: 'items',
        ptype: 'gridviewdragdrop'
    },
    listeners: {
        beforedrop: this.onBeforeDropItem,
        scope:this
    }

}

beforedrop的處理程序如下所示:

,onBeforeDropItem: function(node, data, overModel, dropPosition, dropFunction, options)
{

    var final_records = [];
    nrecords = data.records.length;
    for(var i=0;i<nrecords;i++)
    {
        var record = data.records[i];
        if (/* your condition goes here */)
        {
            final_records.push(record);
        }
    }
    data.records = final_records;
}

(在我的情況下,條件是測試記錄是否已經在我的本地網格存儲中,但可能是其他任何東西)

也許我正在重新發明輪子。 有沒有人有更好的解決方案?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM