C
Ceema M via DotNetMonster.com
Hello all,
I have a nested repeater, which displays categories(parent repeater) and
corresponding subcategories(child repeater). Both repeaters have checkboxes.
When I check category checkbox and subcategory check boxes and click on
submit button , I have to retrieve the corresponding categoryid and
subcategory id, so that I can store it to a table. I am getting the
categoryid but I am failing to get subcategoryid(actually I don't know how to
retrieve it).
Thanks
Ceema
My output will look like
(checkbox)Category1
(checkbox)SubCategory11.1
(checkbox)SubCategory11.2
(checkbox)SubCategory11.3
(checkbox)Category2
(checkbox)SubCategory12.1
(checkbox)SubCategory12.2
(checkbox)Category3
and my code for this is..
Code for repeater is
<asp:repeater id="parentRepeater" runat="server">
<HeaderTemplate>
<table border="0" width="100%" cellspacing="2" cellpadding="2">
</HeaderTemplate>
<itemtemplate>
<tr>
<td>
<asp:CheckBox ID="chkIncld" Runat="server" Checked="true"
Enabled="true"></asp:CheckBox>
<asp:Label ID="lblCategoryID" Runat="server" text='<%# Container.dataitem
("CategoryID") %>' Visible="false">
</asp:Label>
</td>
</tr>
<br>
<asp:repeater id="childRepeater" runat="server" datasource='<%# Container.
DataItem.Row.GetChildRows("myrelation1") %>'>
<itemtemplate>
<tr>
<td>
<asp:CheckBox id='chksubid' SubId='<%# Container.dataitem("SD") %>'
Runat="server" Checked="true" />
<asp:Label ID="lblSubCategoryID" Runat="server" text='<%# Container.dataitem
("SD") %>' Visible="false">
</asp:Label>
<%# Container.DataItem("SubCategoryName") %>
</td>
</tr>
<br>
</itemtemplate>
</asp:repeater>
<FooterTemplate>
</table>
</FooterTemplate>
</itemtemplate>
</asp:repeater><asp:button id="Submit" onclick="Doit" runat="server"
Width="60px" Text="Submit" Height="20px"></asp:button><asp:label id="Label1"
runat="server" visible="false"></asp:label></form>
And code behind will look like
Public Sub Doit(ByVal Source As Object, ByVal E As EventArgs)
Response.Write("<br>")
Dim i As Integer
Dim iCount As Integer = parentRepeater.Items.Count - 1
Dim _chk As Integer
Dim _lblCateDesc As Label
Dim _lblDescID As Label
Dim _lblID As String
' Spin through all the items and add the checked Parts
For i = 0 To iCount
_chk = (CType(parentRepeater.Items.Item(i).FindControl("chkIncld")
, CheckBox).Checked) * -1
_lblCateDesc = CType(parentRepeater.Items.Item(i).FindControl
("lblCategoryName"), Label)
_lblDescID = CType(parentRepeater.Items.Item(i).FindControl
("lblCategoryID"), Label)
If _chk = 1 Then
_lblID = _lblDescID.Text & " , " & _lblID
End If
Next
End sub
..
..
..
I have a nested repeater, which displays categories(parent repeater) and
corresponding subcategories(child repeater). Both repeaters have checkboxes.
When I check category checkbox and subcategory check boxes and click on
submit button , I have to retrieve the corresponding categoryid and
subcategory id, so that I can store it to a table. I am getting the
categoryid but I am failing to get subcategoryid(actually I don't know how to
retrieve it).
Thanks
Ceema
My output will look like
(checkbox)Category1
(checkbox)SubCategory11.1
(checkbox)SubCategory11.2
(checkbox)SubCategory11.3
(checkbox)Category2
(checkbox)SubCategory12.1
(checkbox)SubCategory12.2
(checkbox)Category3
and my code for this is..
Code for repeater is
<asp:repeater id="parentRepeater" runat="server">
<HeaderTemplate>
<table border="0" width="100%" cellspacing="2" cellpadding="2">
</HeaderTemplate>
<itemtemplate>
<tr>
<td>
<asp:CheckBox ID="chkIncld" Runat="server" Checked="true"
Enabled="true"></asp:CheckBox>
<asp:Label ID="lblCategoryID" Runat="server" text='<%# Container.dataitem
("CategoryID") %>' Visible="false">
</asp:Label>
</td>
</tr>
<br>
<asp:repeater id="childRepeater" runat="server" datasource='<%# Container.
DataItem.Row.GetChildRows("myrelation1") %>'>
<itemtemplate>
<tr>
<td>
<asp:CheckBox id='chksubid' SubId='<%# Container.dataitem("SD") %>'
Runat="server" Checked="true" />
<asp:Label ID="lblSubCategoryID" Runat="server" text='<%# Container.dataitem
("SD") %>' Visible="false">
</asp:Label>
<%# Container.DataItem("SubCategoryName") %>
</td>
</tr>
<br>
</itemtemplate>
</asp:repeater>
<FooterTemplate>
</table>
</FooterTemplate>
</itemtemplate>
</asp:repeater><asp:button id="Submit" onclick="Doit" runat="server"
Width="60px" Text="Submit" Height="20px"></asp:button><asp:label id="Label1"
runat="server" visible="false"></asp:label></form>
And code behind will look like
Public Sub Doit(ByVal Source As Object, ByVal E As EventArgs)
Response.Write("<br>")
Dim i As Integer
Dim iCount As Integer = parentRepeater.Items.Count - 1
Dim _chk As Integer
Dim _lblCateDesc As Label
Dim _lblDescID As Label
Dim _lblID As String
' Spin through all the items and add the checked Parts
For i = 0 To iCount
_chk = (CType(parentRepeater.Items.Item(i).FindControl("chkIncld")
, CheckBox).Checked) * -1
_lblCateDesc = CType(parentRepeater.Items.Item(i).FindControl
("lblCategoryName"), Label)
_lblDescID = CType(parentRepeater.Items.Item(i).FindControl
("lblCategoryID"), Label)
If _chk = 1 Then
_lblID = _lblDescID.Text & " , " & _lblID
End If
Next
End sub
..
..
..