This is a migrated thread and some comments may be shown as answers.

FindControl value in Detail / Master view grid

2 Answers 137 Views
Grid
This is a migrated thread and some comments may be shown as answers.
woutercop
Top achievements
Rank 1
woutercop asked on 03 Jun 2011, 01:27 PM
I have made a grid Master / Detail
In master i have a checkbox (chkDelete) andin Detail i have a checkbox (chk2Delte, chkVisible)

if i click the submit button i want the checked values to be deleted or set on visible true/false
how can i get the value of the ID, and know if the item is checked yes or no?

here is frontend code
<telerik:RadGrid ID="rdgCategories" runat="server" ShowFooter="true" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" GridLines="None" Skin="Hay" AutoGenerateColumns="False" PageSize="50">
                                
        <MasterTableView Width="100%" CommandItemDisplay="Top" DataKeyNames="ID" AllowMultiColumnSorting="True">
            <PagerStyle Mode="NextPrevNumericAndAdvanced" />           
       
              <DetailTables>
              
                    <telerik:GridTableView DataKeyNames="ID" Name="Campagnes" Width="100%">                     
                        <Columns>
                    <telerik:GridTemplateColumn AllowFiltering="false" UniqueName="Bekijk">
                    <ItemTemplate>
                    <a target="_blank" href="../campaign/<%#DataBinder.Eval(Container, "DataItem.URL")%>&aff=<%#DataBinder.Eval(Container, "DataItem.AffiliateID")%>">Bekijk</a>
                     <asp:Label ID="lblID2" runat="server" Text='<%#DataBinder.Eval(Container, "DataItem.ID")%>'
                                            Visible="false"></asp:Label>
                    </ItemTemplate>                   
                  </telerik:GridTemplateColumn>
                       
                    <telerik:GridTemplateColumn HeaderText="Campagne naam" SortExpression="Naam" UniqueName="Naam" DataField="Naam">
                        <ItemTemplate>
                        <a href="affiliatescampagnesDetail.aspx?id=<%#DataBinder.Eval(Container, "DataItem.ID")%>"><%#DataBinder.Eval(Container, "DataItem.Naam")%></a>                                           
                    </ItemTemplate>      
                    </telerik:GridTemplateColumn>
                   
                                     
                <telerik:GridTemplateColumn AllowFiltering="False" ShowSortIcon="False"
                    UniqueName="Visible">
                    <HeaderTemplate>Actief<br />
                    <asp:CheckBox id="VisibleChkBoxAll" onclick="SelectAll(this,'chkVisible')" runat="server" ToolTip="Select/Deselect All" AutoPostBack="false"></asp:CheckBox>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkVisible" Checked='<%#IIF(DataBinder.Eval(Container, "DataItem.Visible"), True, False)%>' runat="server" />
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" Width="80px" />
                    <ItemStyle HorizontalAlign="Center" />
                </telerik:GridTemplateColumn>
                   
                <telerik:GridTemplateColumn AllowFiltering="False" ShowSortIcon="False"
                    UniqueName="Delete2">
                    <HeaderTemplate>Delete<br />
                    <asp:CheckBox id="Delete2ChkBoxAll" onclick="SelectAll(this,'chk2Delete')" runat="server" ToolTip="Select/Deselect All" AutoPostBack="false"></asp:CheckBox>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="chk2Delete" runat="server" />
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" Width="80px" />
                    <ItemStyle HorizontalAlign="Center" />
                </telerik:GridTemplateColumn>
                   
                 
 
  
                        </Columns>
                    </telerik:GridTableView>
                </DetailTables>
            <Columns>
                <telerik:GridBoundColumn ItemStyle-Width="70px" UniqueName="ID" DataField="ID" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" HeaderText="Affiliate ID" SortExpression="ID"></telerik:GridBoundColumn>
               
                 <telerik:GridTemplateColumn HeaderText="Affiliate site" SortExpression="Website" UniqueName="Website" DataField="Website">
                    <ItemTemplate>
                    <a href="affiliatesDetail.aspx?id=<%#DataBinder.Eval(Container, "DataItem.ID")%>"><%#DataBinder.Eval(Container, "DataItem.Website")%></a>                       
                     <asp:Label ID="lblID" runat="server" Text='<%#DataBinder.Eval(Container, "DataItem.ID")%>'
                                            Visible="false"></asp:Label>
                    </ItemTemplate>                   
                </telerik:GridTemplateColumn>                       
            
                          
                <telerik:GridTemplateColumn HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="150px" ItemStyle-HorizontalAlign="Center" HeaderText="Aantal campagnes" AllowFiltering="false">
                    <ItemTemplate>
                        <%#GetAantal(DataBinder.Eval(Container, "DataItem.ID"))%>
                    </ItemTemplate>                   
              </telerik:GridTemplateColumn>       
              <telerik:GridTemplateColumn AllowFiltering="False" ShowSortIcon="False"
                    UniqueName="TemplateColumn2">
                    <HeaderTemplate>Delete<br />
                    <asp:CheckBox id="DeleteChkBoxAll" onclick="SelectAll(this,'chkDelete')" runat="server" ToolTip="Select/Deselect All" AutoPostBack="false"></asp:CheckBox>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkDelete" runat="server" />
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" Width="80px" />
                    <ItemStyle HorizontalAlign="Center" />
                </telerik:GridTemplateColumn>
            </Columns>
        </MasterTableView>
        <AlternatingItemStyle BackColor="#EAEAEA" />
    </telerik:RadGrid>


>>>>>>>>>>>>>>>>>><

here is backend code

 

 

 

 

For Each i As GridDataItem In rdgCategories.Items

 

 

 

 

If CType(i.FindControl("chkDelete"), CheckBox).Checked() Then

 

 

 

 

 

 

 

 

myAdmin.DeleteLeadAffiliate(

 

CInt(CType(i.FindControl("lblID"), Label).Text()))

 

 

 

 

End If

 

 

 

 

 

'this works in normal - master only view

 

 

 

 

Next

>> gives error with master detail,
how can i findcontrol the detail rows lblID2 value?

regards
Wouter

 

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 03 Jun 2011, 02:15 PM
Hello Wouter,

Check out the following help article for achieving your scenario.
Traversing detail tables/items in Telerik RadGrid.

Thanks,
Shinu.
0
woutercop
Top achievements
Rank 1
answered on 03 Jun 2011, 02:44 PM
after some try and error ...
here is the solution

 

For Each i As GridDataItem In rdgCategories.MasterTableView.Items

 

 

 

If CType(i.FindControl("chkDelete"), CheckBox).Checked() Then

 

myAdmin.DeleteLeadAffiliate(

CInt(CType(i.FindControl("lblID"), Label).Text()))

 

 

 

End If

 

 

Dim gtv As GridTableView = TryCast(i.ChildItem.NestedTableViews(0), GridTableView)

 

 

 

For Each gdi2 As GridDataItem In gtv.Items

 

 

 

If CType(gdi2.FindControl("chk2Delete"), CheckBox).Checked() Then

 

myAdmin.DeleteLeadAffiliateCampagne(

CInt(CType(gdi2.FindControl("lblID2"), Label).Text()))

 

 

 

'Response.Write(CInt(CType(gdi2.FindControl("lblID2"), Label).Text()))

 

 

End If

 

 

If CType(gdi2.FindControl("chkVisible"), CheckBox).Checked() Then

 

myAdmin.UpdateLeadAffiliateCampagneVisible(

CInt(CType(gdi2.FindControl("lblID2"), Label).Text()), True)

 

 

 

Else

 

myAdmin.UpdateLeadAffiliateCampagneVisible(

CInt(CType(gdi2.FindControl("lblID2"), Label).Text()), False)

 

 

 

End If

 

 

Next

 

 

Next

 

Tags
Grid
Asked by
woutercop
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
woutercop
Top achievements
Rank 1
Share this question
or