2010-11-17 93 views
1

天兒真好,radcombobox控件內radgrid控件FormTemplate

我有當InitInsert動作發生時顯示的radgrid控件的內部的控制radcombobox控件。我正在使用實體框架作爲數據源&其中包含的結果是正確的。我的問題是,當我使用findcontrol它什麼都不返回。

如果e.CommandName = 「InitInsert」 然後 RadGrid1.MasterTableView.InsertItemDisplay = Telerik.Web.UI.GridInsertItemDisplay.Bottom 昏暗的查詢=從myTable的在dbEntity.myTables選擇myTable.Name,myTable.ID

  Dim mineCompBox = CType(e.Item.FindControl("mineCompBox"), RadComboBox) 
     mineCompBox.DataSource = mineCompQuery 
     mineCompRadBox.DataTextField = "Name" 
     mineCompRadBox.DataValueField = "Id" 
     mineCompRadBox.DataBind()</code> 

我很難找到任何參考FormTemplate的答案,如果它不是一個編輯窗體。我錯過了什麼? :-(

感謝

回答

0

我的問題是通過使用ItemCreated命令解決的。一個例子可以在這裏找到:

http://www.telerik.com/community/forums/aspnet-ajax/grid/find-controls-when-using-editcommand.aspx

我的情況的代碼是:

Private Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemCreated 
    If TypeOf e.Item Is GridEditFormItem AndAlso e.Item.IsInEditMode Then 
     Dim dbEntity As WebsiteEntities = New WebsiteEntities 
     Dim myQuery = From myTable In myTables Select myTable.Name, myTable.ID 
     Dim EditFormItem As GridEditFormItem = DirectCast(e.Item, GridEditFormItem) 
     Dim myCombobox As RadComboBox = DirectCast(EditFormItem.FindControl("radDropBox"), RadComboBox) 
     myCombobox.DataSource = myQuery 
     myCombobox.DataTextField = "Name" 
     myCombobox.DataValueField = "ID" 
     myCombobox.DataBind() 
    End If 
End Sub 
0

我沒有我的電腦在我的面前,以測試它,但我敢肯定,無論是: 1)你是不是想找在正確的控件集合 2 )或RadComboBox尚未創建或已創建,但ID不匹配 所以你找不到它

再次不是100%確定。也許這可以幫助你一個完整的例子:http://beecy.net/post/2009/01/07/telerik-radgrid-formtemplate-codebehind.aspx(也許檢查你對這個標記)