Radigrid FormTemplate内的Radcombobox

时间:2010-11-17 05:05:42

标签: asp.net telerik

天儿真好,

我在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的答案而不是编辑表单。我错过了什么? : - (

感谢。

2 个答案:

答案 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