如何在RadGrid中获取(FindControl)GridAttachmentColumn的按钮

时间:2015-03-13 04:01:36

标签: telerik radgrid findcontrol

我有一个名为" FileName"的GridAttachmentColumn的RadGrid。我试图让(FindControl)控件退出ItemCreated事件中的GridDataItem。具体来说,我想要按钮控件(或在这种情况下为linkBut​​ton)。 item.FindControl(" FileName")总是返回Nothing。

    Protected Sub AttachmentsRadGrid_ItemCreated(sender As Object, e As GridItemEventArgs)
        If TypeOf e.Item Is GridDataItem Then
            Dim item As GridDataItem = TryCast(e.Item, GridDataItem)
            If item IsNot Nothing Then
                Dim FileName = item.FindControl("FileName") 'Always Nothing
                If FileName IsNot Nothing Then
                    'Do something with it
                End If
            End If
        End If
    End Sub

2 个答案:

答案 0 :(得分:1)

Dim button As LinkButton = TryCast(item("FileName").Controls(0), LinkButton)

OR

Dim FileName = item.FindControl("gac_FileName")

第一行代码可能是Telerik's preference,所以我把那行放在首位。请注意,处于读取模式的AttachmentColumn基本上只是一个链接按钮。

请注意,在第二个示例中,item.FindControl中的“gac_”(“ gac _ FileName”)被添加到列的UniqueName的前面。当我从浏览器中检查元素时,我在Chrome DevTools中注意到了它。我应该注意,如果您不想阅读上面的代码,“FileName”是列的UniqueName。

答案 1 :(得分:0)

更安全的方法,而Telrik首选的方法是通过名称而不是索引来调用控件...

Dim按钮As LinkBut​​ton = TryCast(item(“FileName”)。Controls(“gac_FileName”),LinkBut​​ton)