PDA

View Full Version : GridView و CheckBox



NetBeans
شنبه 03 مرداد 1388, 23:45 عصر
من می خوام به اطلاعات ستونی که تیک خورده دسترسی داشته باشم.
نمی دونم مشکل این قطه کد چیه که هیچ وقت قسمت IF این کد True نمی شه!
در ضمن برای به دست آوردن Index سطر انتخاب شده چه باید کرد؟




foreach (GridViewRowgridRowinthis.GridView1.Rows)
{
CheckBoxchbxRmove = (CheckBox)gridRow.FindControl("chkSelect");
if (chbxRmove.Checked)
{
//Row Index
}
}

amin_heidaryy
یک شنبه 04 مرداد 1388, 10:02 صبح
دوست عزیز من اینجوری نوشتم درست کار میکنه

foreach (GridViewRow myrow in gvAllStudent.Rows)
{
CheckBox ChkSelect = (CheckBox)myrow.Cells[0].FindControl("ChkSelect");
if (ChkSelect.Checked)
{
//
}
}

البته امکان داره وقتی داری این کد اجرا مکنی صفحه refresh میشه و دوباره گرید ویو بایند میشه که اینجوری همیشه false بر میگردونه.
کد بایند گرید ویو رو تو pageLoad توی if(!ispostback) گذاشتی؟
امیدوارم مشکلت با اینها حل بشه

naeeme
یک شنبه 04 مرداد 1388, 10:56 صبح
مشکل کد شما این هست که شما باید توی سلول دنبال chekbox بگردید اما شما دارید توی row این کار رو می کنین.
کافیه

CheckBoxchbxRmove = (CheckBox) gridRow.FindControl("chkSelect");

رو به

CheckBoxchbxRmove = (CheckBox) gridRow.Cells[0].FindControl("chkSelect");
تبدیل کنین. البته بهتر هست به جای Cast از as استفاده کنین.

NetBeans
یک شنبه 04 مرداد 1388, 15:00 عصر
تغییری که گفتین رو اعمال کردم اما باز هم IF اجرا نمی شه!!!

در ضمن کد ایجاد GridView رو هم به صورت زیر نوشتم:



<asp:GridViewID="GridView1"runat="server"AllowPaging="True"
AutoGenerateColumns="False"
Width="354px"CellPadding="4"
ForeColor="#333333"GridLines="None"Height="233px"DataKeyNames="A#">
<Columns>

<asp:TemplateFieldHeaderText="Select">
<ItemTemplate>
<asp:CheckBoxID="chkSelect"runat="server"/>
</ItemTemplate>
<HeaderTemplate>
<inputid="chkAll"onclick="javascript:SelectAllCheckboxes(this);"
runat="server"type="checkbox"/>
</HeaderTemplate>
</asp:TemplateField>
</Columns>


<FooterStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<RowStyleBackColor="#FFFBD6"ForeColor="#333333"/>
<PagerStyleBackColor="#FFCC66"ForeColor="#333333"
HorizontalAlign="Center"/>
<SelectedRowStyleBackColor="#FFCC66"Font-Bold="True"ForeColor="Navy"/>
<HeaderStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"/>
</asp:GridView>

karim orooji
یک شنبه 04 مرداد 1388, 21:48 عصر
با سلام به دوستان گلم
از عزيزان كسي كد انتخاب سطر گريد به وسيله چك باكس رو نداره يا راهنمايي كنه


با تشكر

NetBeans
دوشنبه 05 مرداد 1388, 17:31 عصر
یعنی این مشکل لاین حله ! :ناراحت:

naeeme
سه شنبه 06 مرداد 1388, 08:45 صبح
من توی این کد ایرادی نمی بینم. شما چک کن که اصلا می تونه چک باکس رو پیدا کنه؟ این کد کاملا صحیح هست و خود من بارها ازش استفاده کردم.
ایراد جای دیگه هست.
یه بار دیگه تاکید می کنم که ببنید می تونه چک باکس رو پیدا کنه.