2012-11-13 42 views
0

我有以下代碼:插入節點動態

​​

而且有兩個功能:1。 推:一旦選定樹中的一個節點,它使用的DataItem獲取當前數據項並將一個附加節點推入(子節點)。這應該是有效的,因爲dataSource是一個ObservableHierarchy對象。 2.追加:一旦在樹中選擇了一個節點,它使用append向其中引入一個附加節點(子節點)。這在KendoUI以前的版本中是有效的,並且修改樹,但不應該反映數據源中的變化。

問題是: 1.如果我使用追加樹更新(直觀),但dataItem不更新。 2.如果我使用push,那麼dataItem是更新的,但不是樹。 3.如果我選擇一個節點,使用append然後push,樹會被視覺更新並且模型也會被更新。

看來,我第一次介紹一個孩子append更新了一些內部結構,並從那裏樹'觀察'可觀察的層次如果我直接推它,然後樹不遵守可觀察的層次結構。

我應該如何動態插入節點來檢查DataSource並獲取樹的當前狀態?

備註這是最新版本的KendoUI Q2.1024。

+0

從2014.1.318開始,它是我還是還在破? – Matt

回答

1

好的,所以,我剛剛得到了關於此事2日後的票的答案。 這確實是一個BUG這是已經固定在最新的版本,但該版本是隻爲客戶提供主動訂閱...

這將可爲社會中的其餘部分下一個正式版本(2013年3月左右)。所以目前唯一的解決方案是購買商業訂閱,你會立即獲得新的版本...

有點失望所有這些商業的東西,因爲這是一個錯誤 ..但無論如何,我們無能爲力。 至少我們知道我們並不瘋狂,並在幾個月內,我們可以用固定版本替換我們的代碼。:P

+0

好吧,讓我們自己修復它... – OnaBai

+0

任何好主意?我雖然可以''插入'到數據源連同每一個.append,但我還沒有測試過它.. – CipherDarkness

+0

我會看看代碼,但我非常bussy未來兩週,所以我不知道我什麼時候可以回到它。 – OnaBai

0

有點我的問題,因爲append根本沒有更新dataSource,而push更新dataSource,所以只有在我第一次添加節點時,我甚至不能選擇那個節點,直到我保存dataSource並刷新頁面(或者我得到一個pos.items is undifined錯誤)

我到目前爲止的經驗是,也許我們可以使用push方法將子節點添加到dataSource並嘗試強制通過treeview.dataSource.get(treeview.select()).load()

每次加載數據源中選定節點的子節點根據此處的文檔http://docs.kendoui.com/documentation/api/framework/node

如果我們能get選擇的節點,我們可以加載它的孩子forcibly.But我一直沒能有datasource.get()dataSource.view()[]閱讀選擇的節點爲止..

PS我知道這是不是一個完整的答案但也許它有幫助..

+0

是的@CipherDarkness,我們可以嘗試一些類型的解決方法,比如你的建議,但它不是*解決方案*。我仍然在等待一些KendoUI的支持人員說,如果它是一個*功能*或一個* bug *,同時看看SO社區是否有一些*優雅*的解決方法,始終有效... – OnaBai

+0

我明白了,我們希望劍道支持回覆..然而,如果你找到一些這方面的工作,請張貼在here.Thx – CipherDarkness

+0

劍道支持回覆說,最新版本解決了這個問題,但實際上沒有任何改變。到目前爲止沒有其他解決方案,除了實施它陷阱拖動,下降,...事件 – OnaBai