Hi
I have a self-referencing hierachical radGrid like in my attachement
How to find checkbox control...?
I tried to count MasterTableView.Items.count but the result is always 1.
What am I missing?
in this code I change id of the checkbox
Thanks in advance for your help.
I have a self-referencing hierachical radGrid like in my attachement
How to find checkbox control...?
I tried to count MasterTableView.Items.count but the result is always 1.
What am I missing?
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.ClickMsgBox(RadGrid1.MasterTableView.Items.Count)For Each item As GridItem In RadGrid1.MasterTableView.ItemsIf TypeOf item Is GridDataItem ThenMsgBox(item.ClientID)End IfNextEnd Sub<telerik:RadGrid ID="RadGrid1" runat="server" OnColumnCreated="RadGrid1_ColumnCreated" Skin="Office2007" Width="70%" OnItemCreated="RadGrid1_ItemCreated" OnItemDataBound="RadGrid1_ItemDataBound" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"> <MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" AllowSorting="true" Name="asd" DataKeyNames="mnid, mnparent,mnnameen"> <SelfHierarchySettings ParentKeyName="mnparent" KeyName="mnid" /> <Columns> <telerik:GridBoundColumn DataField="mnnameen" HeaderText="Menu" UniqueName="mnnameen"></telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="CBoxOpenTemplateColumn" HeaderText="Open" HeaderStyle-Width="70px"> <ItemTemplate> <asp:CheckBox id="CBoxOpen" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="CBoxFullTemplateColumn" HeaderText="Full" HeaderStyle-Width="70px"> <ItemTemplate> <asp:CheckBox id="CBoxFull" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="CBoxApprovalTemplateColumn" HeaderText="Approval" HeaderStyle-Width="70px"> <ItemTemplate> <asp:CheckBox id="CBoxApproval" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="CBoxFavoriteTemplateColumn" HeaderText="Favorite" HeaderStyle-Width="70px"> <ItemTemplate> <asp:CheckBox id="CBoxFavorite" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <ClientSettings AllowExpandCollapse="true" EnableRowHoverStyle="true"> </ClientSettings> </telerik:RadGrid>in this code I change id of the checkbox
Public Sub HideExpandColumnRecursive(ByVal tableView As GridTableView) Dim nestedViewItems As GridItem() = tableView.GetItems(GridItemType.NestedView) Dim itemid As String, itemidnya As String For Each item As GridItem In tableView.Items If TypeOf item Is GridDataItem Then Dim dataItem As GridDataItem = CType(item, GridDataItem) Dim mnid As String = dataItem.OwnerTableView.DataKeyValues(dataItem.ItemIndex)("mnid") Dim mnname As String = dataItem.OwnerTableView.DataKeyValues(dataItem.ItemIndex)("mnnameen") itemid = dataItem.ClientID Dim data() As String = Split(itemid, "__") Dim checkBoxOpen As CheckBox = TryCast(dataItem("CBoxOpenTemplateColumn").FindControl("CBoxOpen"), CheckBox) AddEventCbox(checkBoxOpen, "_" & data(1) & "__" & mnid & "__Open", "CheckedChanged('" & data(1) & "','Open',this)") Dim checkBoxFull As CheckBox = TryCast(dataItem("CBoxFullTemplateColumn").FindControl("CBoxFull"), CheckBox) AddEventCbox(checkBoxFull, "_" & data(1) & "__" & mnid & "__Full", "CheckedChanged('" & data(1) & "','Full',this)") Dim checkBoxApproval As CheckBox = TryCast(dataItem("CBoxApprovalTemplateColumn").FindControl("CBoxApproval"), CheckBox) AddEventCbox(checkBoxApproval, "_" & data(1) & "__" & mnid & "__Approval", "CheckedChanged('" & data(1) & "','Approval',this)") Dim checkBoxFavorite As CheckBox = TryCast(dataItem("CBoxFavoriteTemplateColumn").FindControl("CBoxFavorite"), CheckBox) AddEventCbox(checkBoxFavorite, "_" & data(1) & "__" & mnid & "__Favorite", "CheckedChanged('" & data(1) & "','Favorite',this)") End If Next For Each nestedViewItem As GridNestedViewItem In nestedViewItems For Each nestedView As GridTableView In nestedViewItem.NestedTableViews nestedView.Style("border") = "0" Dim MyExpandCollapseButton As Button = DirectCast(nestedView.ParentItem.FindControl("MyExpandCollapseButton"), Button) If nestedView.Items.Count = 0 Then If Not MyExpandCollapseButton Is Nothing Then MyExpandCollapseButton.Style("visibility") = "hidden" End If nestedViewItem.Visible = False Else If Not MyExpandCollapseButton Is Nothing Then MyExpandCollapseButton.Style.Remove("visibility") End If End If If nestedView.HasDetailTables Then HideExpandColumnRecursive(nestedView) End If Next Next End SubThanks in advance for your help.