2012-07-09 52 views
0

我們正在提供一個能力,用戶更改網格記錄的訂單/位置。爲此我們使用拖放。但拖放後記錄不會顯得骯髒。馬克Unmark網格記錄髒

因此,是否有任何功能可用於強制標記以及取消標記網格記錄爲髒?也就是說,迫使它顯示/隱藏角落中的紅色標記。

我在記錄中找到了一個函數 - setDirty()。但這不符合目的。

+0

你的模型是否包含'index'屬性?我相信,當你重新排序時,屬性會發生變化,如果在模型中定義模型記錄應該在拖放時變髒(無論如何都適用於樹)。 – Izhaki 2012-07-09 12:16:49

+0

我認爲你應該在'drop'事件上設置一個監聽器到你的'DragDrop'插件,並且你可以處理所有與訂單有關的更改(發送新的位置到服務器等等)。 – 2012-07-09 12:40:18

+0

@Izhaki:商店裏有一個索引,但是我沒有聽說過索引。你能否詳細說明你提到的內容? – netemp 2012-07-09 14:14:50

回答

1

我已經完成了一個排序拖放網格。我在數據庫上有一個序列列,所以簡單地將它包含在我的模型定義中。

然後在GridView的drop事件處理程序,我叫上當進行降所有受影響的記錄record.set('sequence', newSequence)。 (我說「所有受影響的記錄」,因爲無論何時你改變一個記錄的順序,它不僅影響該記錄的順序,例如:如果你將記錄從網格的最底部移動到頂部全部記錄的序列號在刪除的記錄後將增加1,它們將全部變髒並需要在數據庫上更新)。

使用record.set將顯示該記錄的序列列是否帶有標記髒。

你說你有服務器端更新好,所以我假設你在服務器端執行這種重新排序邏輯,你將不得不將它移回到JS上,我不知道你是否想要去做。

+0

謝謝Geronimo。這正是我們一直在做的。但認爲,可以有一些其他更好的方法來做到這一點。看起來,我們必須繼續使用新舊秩序的相同邏輯。謝謝你的時間。 – netemp 2012-07-31 08:12:28