天儿真好,
我在RadGrid内部有一个RadComboBox控件,当InitInsert操作发生时会显示该控件。我正在使用Entity Framework作为数据源&其中包含的结果是正确的。我的问题是当我使用findcontrol时它什么都不返回。
If e.CommandName = "InitInsert" Then
RadGrid1.MasterTableView.InsertItemDisplay = Telerik.Web.UI.GridInsertItemDisplay.Bottom
Dim query = From myTable In dbEntity.myTables Select 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 :(得分:0)
我没有让我的电脑在我面前测试它,但我很确定: 1)您没有看到正确的控件集合 2)或RadComboBox尚未创建或已创建但ID不匹配 所以你找不到它
再次不是100%肯定。也许这可以帮助你一个完整的例子:http://beecy.net/post/2009/01/07/telerik-radgrid-formtemplate-codebehind.aspx(也许可以检查你对这一个的标记)
答案 1 :(得分: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