如何在CommandItemTemplate中为RadGrid找到控件

时间:2010-09-09 21:51:05

标签: asp.net telerik

我正在使用Telerik的RadGrid和CommandItem中的三个LinkBut​​ton控件,我想在后面的代码中使用switch语句隐藏或显示它们。

<CommandItemTemplate>
   <LinkButton runat="server" ID="approveAllLink" Text="Approve All" >
   </LinkButton>
   <LinkButton runat="server" ID="approveLink" Text="Approve" >
   </LinkButton>
   <LinkButton runat="server" ID="rejectLink" Text="Reject" >
   </LinkButton>
</CommandItemTemplate>

无论如何解决这个案子?

3 个答案:

答案 0 :(得分:13)

这个怎么样?

GridItem cmdItem = RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0]; 
LinkButton approveAllLink = cmdItem.FindControl("approveAllLink") as LinkButton; 
LinkButton approveLink = cmdItem.FindControl("approveLink") as LinkButton; 
LinkButton rejectLink= cmdItem.FindControl("rejectLink") as LinkButton; 

// Your switch logic here

答案 1 :(得分:3)

确保将MasterTableView的CommandItemDisplay属性设置为与None不同的值。否则,从GetItems方法返回的命令项数组将为空。

答案 2 :(得分:2)

在网格的ItemCreated事件期间隐藏或显示CommandItem中的控件:

    protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
    {
        if (e.Item.ItemType == GridItemType.CommandItem)
        {
            var approveAllLink = (LinkButton) e.Item.FindControl("approveAllLink");
            var approveLink = (LinkButton)e.Item.FindControl("approveLink");
            var rejectLink = (LinkButton)e.Item.FindControl("rejectLink");

            // Your switch logic here
        }
    }
相关问题