2013-09-16 55 views
-2

當網格的編輯模式設置爲「彈出」時,它會自動生成一個對話框,讓用戶修改所選行的可編輯字段。如何模仿Kendo網格的彈出式對話框?

使用網格的「更新」方法,這些值將被保存在數據庫中,並且如果PHP處理程序例程返回最新更新的行,則網格會奇蹟般地顯示目標行的正確修改值,同時保持它被選中!

我需要:我必須做同樣的事情,但有自制版本對話框(kendoWindow)。 我不能使用網格自動生成的那個。 (有很多很好的理由...)

一旦關閉,我自制的編輯對話框將調用一個AJAX例程,該例程將數據保存在數據庫中並返回新修改的行。

如何更新網格的數據源與PHP返回值,同時保持目標行選擇?

注意:網格的行只能在對PHP服務器的「更新」調用返回後纔會更新,因爲某些值在PHP代碼中被修改...在網格中顯示的值。

回答

2

我不確定這是否符合您的需求,但您可以使用editable.template設置更改彈出式編輯器。這可以讓你自定義彈出窗口來完成你需要的任何操作。


要選擇你需要找到<tr>元素,並將其傳遞給.select()網格上的小部件的行。如果你碰巧知道由數據源生成的UID,那麼你可以做:

var rowElement = $(gridWidget.element).find('tr[data-uid="' + uid + '"]'); 
gridWidget.select(rowElement); 
+0

是不是有一種以編程方式選擇基於字段值......一排它只會是的標識記錄關聯? (它是網格的一部分!)一旦我的更新PHP調用返回,我只需重新加載網格並重新選擇剛纔修改的同一行! – Tuthmosis

+0

我知道我們不能使用de「uid」,因爲一旦網格被刷新,它將不再是相同的。 – Tuthmosis

+0

我添加了一些更多的選擇一行的答案。 – CodingWithSpike