PDA

View Full Version : سوال: دسترسی به کنترل چک باکسی که درون ریپیتر قرار دارد و ریپیتر هم درون گرید ویو قرار دارد



majid.mp
شنبه 26 اردیبهشت 1394, 16:54 عصر
با سلام
دوستان بنده دردرون یک گرید ویو یک کنترل ریپیتر به صورت زیر دارم :


<asp:GridView ID="gv1" CssClass="class_rows" runat="server" AutoGenerateColumns="false" ShowHeader="false" OnRowDataBound="gv1_Rows_RowDataBound" Width="100%">
<Columns>
<asp:TemplateField>
<ItemTemplate >
<asp:Repeater ID="rpt1" runat="server">
<ItemTemplate>
<asp:CheckBox CssClass="class_test" ID="cb1" runat="server" Text='<%#Eval("intId") %>' />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>

لطفاً راهنمایی بفرمایید چگونه میتوانم در رویداد کلیک یک دکمه به چک با کس های داخل کنترل ریپیتر دسترسی داشته باشم ؟بنده به صورت زیر نوستم ولی جواب نگرفتم


protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow records in gv1.Rows)
{
Repeater rpt1 = records.FindControl("rpt1") as Repeater;
foreach (RepeaterItem items in rpt1.Items)
{
CheckBox ChkSelect = (CheckBox)items.Controls[0].FindControl("cb1");
if (ChkSelect.Checked)
{
Response.Write("check");
}
}
}
}



با تشکر

majid.mp
شنبه 26 اردیبهشت 1394, 19:37 عصر
با سلام
دوستان بنده دردرون یک گرید ویو یک کنترل ریپیتر به صورت زیر دارم :


<asp:GridView ID="gv1" CssClass="class_rows" runat="server" AutoGenerateColumns="false" ShowHeader="false" OnRowDataBound="gv1_Rows_RowDataBound" Width="100%">
<Columns>
<asp:TemplateField>
<ItemTemplate >
<asp:Repeater ID="rpt1" runat="server">
<ItemTemplate>
<asp:CheckBox CssClass="class_test" ID="cb1" runat="server" Text='<%#Eval("intId") %>' />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>

لطفاً راهنمایی بفرمایید چگونه میتوانم در رویداد کلیک یک دکمه به چک با کس های داخل کنترل ریپیتر دسترسی داشته باشم ؟بنده به صورت زیر نوستم ولی جواب نگرفتم


protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow records in gv1.Rows)
{
Repeater rpt1 = records.FindControl("rpt1") as Repeater;
foreach (RepeaterItem items in rpt1.Items)
{
CheckBox ChkSelect = (CheckBox)items.Controls[0].FindControl("cb1");
if (ChkSelect.Checked)
{
Response.Write("check");
}
}
}
}



با تشکر

دوستان به صورت زیر مشکل رفع گردید:



protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < gv1.Rows.Count; i++)
{
Repeater rpt1= (Repeater)gv1.Rows[i].FindControl("rpt1");

for (int j = 0; j < rpt1.Items.Count; j++)
{
CheckBox cb1 = (CheckBox)rpt1.Items[j].FindControl("cb1");
if (cb_Seat.Checked)
{

}
}
}
}