我有一个名为" FileName"的GridAttachmentColumn的RadGrid。我试图让(FindControl)控件退出ItemCreated事件中的GridDataItem。具体来说,我想要按钮控件(或在这种情况下为linkButton)。 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
答案 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 LinkButton = TryCast(item(“FileName”)。Controls(“gac_FileName”),LinkButton)