【问题标题】:How to find control in CommandItemTemplate for RadGrid如何在 RadGrid 的 CommandItemTemplate 中找到控件
【发布时间】:2011-04-10 11:58:22
【问题描述】:

我正在使用 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>

有没有办法解决这个案子?

【问题讨论】:

    标签: asp.net telerik


    【解决方案1】:

    在网格的 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
            }
        }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        这个呢?

        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
        

        【讨论】:

        • 我使用的是 v2013.1.220.45 版本,这对我不起作用:上面代码的第一行的数组为空 - 我使用的是自定义 CommandItemTemplate可能是问题,不确定。我的CommandItemDisplay 设置是TopAndBottom
        • @PeterX 肯定在 RadGrid1_ItemDataBound 事件中数组不为空。
        • @PeterX 尝试按照this Telerik post 中的建议使用FindControl()GridCommandItem 上检索RadGrid_ItemCreated 处理程序中的控件
        • @BoyanK 的链接不再有效。以this Telerik forum thread为例:
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多