Как найти элемент управления в CommandItemTemplate для RadGrid - PullRequest
8 голосов
/ 10 сентября 2010

Я использую RadGrid от Telerik с тремя элементами управления LinkButton в CommandItem, и я хочу скрыть или показать их с помощью оператора 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 ]

13 голосов
/ 10 сентября 2010

Как насчет этого?

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
3 голосов
/ 10 сентября 2010

Убедитесь, что для свойства CommandItemDisplay MasterTableView установлено значение, отличное от None.В противном случае массив элементов команды, который возвращается из метода GetItems, будет пустым.

2 голосов
/ 28 мая 2014

Скрыть или показать элементы управления в вашем CommandItem во время события ItemCreated сетки:

    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
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...