2009-10-14 74 views
1

我正在使用Telerik ASP.net控件套件(2008年第三季我相信,無法升級)。我在Radgrid控件中有一個radcombobox(在GridTemplateColumn的Edit模板中)。如果功能正常,但我已經在網格上的其他控件上進行了一些客戶端驗證(看起來沒有錯誤)。出於某種原因客戶端驗證發生後,組合框停止運行。沒有明顯的js錯誤,事情就這樣死了。Telerik RadComboBox RadGrid客戶端驗證

任何人看到這個,並已修復? Google讓我失望了。

感謝您的幫助。

回答

1

好吧,我解決了它。非常庸俗的解決方法。

首先,我在multiviewpanel之外有一個面板,它包含另一個類似的Radcombobox,它也在驗證時死掉了。我開始思考,如果我做了某種回帖,會不會因爲某種原因解決問題?所以在我的網格中,我添加了一個自定義驗證器,用於在我的網格中驗證RadComboBox。它調用像這樣一個javascript驗證方法...

function valCOMBO(o, a) { 
     a.IsValid = true; 
     setTimeout(Res, 500); 
     } 
     function Res() { __doPostBack("<%=OPCOCombo.UniqueID %>");} 

注意,因爲不需要此字段由用戶填寫,我總是返回有效是真的。這是準魔法發生的地方。我在javascript中的網格外部的頂部面板中的其他RadComboBox上發佈了一篇文章。網格RadComboBox的頂部將其autopostback設置爲true,如果您嘗試此示例,則不知道這是否必要。

它工作。突然間,兩個RadComboBoxes,一個在網格中,另一個在上面再次開始工作。但是我注意到這個值有時會在網格的RadComboBox中丟失,所以對於咯咯我在500毫秒的回發之前添加了輕微的停頓。那就是訣竅。它實際上只會停頓一小會兒,但我將它增加到了500毫秒,因爲安全邊緣的情況下,最終用戶的連接速度很慢,這可能很重要。

Cluggy,cluggy,cluggy。我希望我可以剛剛使用jQuery,並使用這些frerik telerik radcomboboxes的替代品,但這是生活(我聽說有限版本的jQuery被埋在Telerik中,將在後續版本中進行試驗)。我敢打賭,Telerik的最新版本修復了這個問題(更好),所以當我們升級時,所有這些都會變得沒有必要(當然,與我們構建的一些自定義控件繼承關係有些衝突Telerik的。揚Q1 2009+破解這些控件:()

希望的,這可能幫助別人。

+0

這個'非常cludgy'的工作,只是節省了我的工作時間......感謝噸! – 2010-02-10 17:04:33

0

另一種選擇。我遇到了這樣一個場景,我不得不使用大量RadComboboxes如此而不是擔心自己的驗證內容,我只是添加了一個按鈕旁邊的每個按鈕,用RadComboBox打開一個Radwindow,所以可以動態地選擇值。在select javascript將選定的值傳遞迴窗口開啓器頁面上的目標元素。很少有頭痛,我不得不努力在調用每個鍵上的webservice之前,有一堆上下文參數設置(提示:用IE設置Radcombobox的高度至少對於2008 Telerik版本...如果你不這樣做,你將開始凍結)。

再次,希望這個想法很有用。