PDA

View Full Version : مشکل با radiobutton در gridviwe



alef.divar
پنج شنبه 18 اردیبهشت 1393, 16:28 عصر
با سلام
من میخوام تو هر سطر gridviwe یه radiobutton باشهو در آخر از بین تمامی سطر ها بشه یه یک سط رو انتخاب کرد به وسیله radiobutton و این کارو رو به این صورت انجام دادم:

<asp:TemplateField>
<ItemStyle Width="40px" />
<ItemTemplate>
<input id="Radio1" name="AAA" type="radio" value='<%# Eval("tch_Id") %>' />
</ItemTemplate>
</asp:TemplateField>


اما حالا نمی دونم چطور بفهمم کاربر کدوم radio رو انتخاب کرده!!!! (مقدار value مربوط به Radio انتخاب شده رو میخوام)
کدی که به ذهنم رسید اینه :

string strValRadio = string.Empty;
for (int i = 0; i < g_tch.Rows.Count; i++)
{
if (((RadioButton)g_tch.Rows[i].FindControl("AAA")).Checked == true)
{
strValRadio = ((RadioButton)g_tch.Rows[i].FindControl("AAA")) ????????????
}
}

جای علامت سوال چی بنویسم؟
لطفا راهنمایی کنید.

elahe471
پنج شنبه 18 اردیبهشت 1393, 17:49 عصر
فکر نکنم با Radio html بتونید FindControl انجام بدین اون کلاس RadioButton مخصوص RadioButton Asp هست

<asp:TemplateField> <ItemTemplate>
<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("tch_Id") %>' GroupName="AAA"/>
</ItemTemplate>
</asp:TemplateField>

تو Code-behind هم دیگه راحتین

foreach (GridViewRow rw in g_tch.Rows) {
RadioButton rd = rw.FindControl("RadioButton1") as RadioButton;
if (rd.Checked)
{
str = rd.Text;
}
}

alef.divar
پنج شنبه 18 اردیبهشت 1393, 20:38 عصر
الان میشه تمامی radio ها رو انتخاب کرد. یعنی radio هر سطر رو میشه انتخاب کرد.
اما من می خوام از بین تمامی radio های وجود در gridviwe (تمام سطر ها) فقط یکی رو بشه انتخاب کرد.

elahe471
پنج شنبه 18 اردیبهشت 1393, 21:39 عصر
این کد رو بزارید تو head

<script type="text/javascript" language="javascript">

function fnCheckUnCheck(objId) {
var grd = document.getElementById("<%= g_tch.ClientID %>");
var rdoArray = grd.getElementsByTagName("input");


for (i = 0; i <= rdoArray.length - 1; i++) {
if (rdoArray[i].type == 'radio') {
if (rdoArray[i].id != objId) {
rdoArray[i].checked = false;
}
}
}
}
</script>


این تابع رو به شکل زیر فراخوانی کنید :

<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("tch_Id") %>' onclick="fnCheckUnCheck(this.id);"/>

alef.divar
پنج شنبه 18 اردیبهشت 1393, 23:26 عصر
درست شد.
ممنونم.