PDA

View Full Version : سوال: انتخاب یک CheckBox از جدول GridView در وب فرم



MasoudAdmin
یک شنبه 19 شهریور 1402, 20:17 عصر
با سلام خدمت همه
من در فرمم یک جدول (GridView) دارم که دو ستون آخر اون حالت چک باکس هستند. حالا میخوام وقتی در یک ردیف یکی از چک باکس ها انتخاب شد اون یکی انتخاب نشود.
این کد ساخت چک باکس در جدولم


<asp:TemplateField HeaderText="بله"> <HeaderStyle BackColor="#FFCC00" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" /> <ItemStyle BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" /> <EditItemTemplate> <asp:CheckBox ID="CheckBoxEng_Yes" runat="server" /> </EditItemTemplate> <ItemTemplate> <asp:CheckBox ID="CheckBoxEng_Yes" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="خیر"> <HeaderStyle BackColor="#FFCC00" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" /> <ItemStyle BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" /> <EditItemTemplate> <asp:CheckBox ID="CheckBoxEng_No" runat="server" /> </EditItemTemplate> <ItemTemplate> <asp:CheckBox ID="CheckBoxEng_No" runat="server" /> </ItemTemplate> </asp:TemplateField>

اینم تصویر جدولم.
154923

الان اگر به تصویر دقت کنید همون ردیف اول همزمان هر دو رو می تونم انتخاب کنم. همونجوری که گفتم میخوام واسه هر ردیف وقتی گزینه بله رو تیک چکش زده شده، تیک چک گزینه خیر از حالت چک خارج شود یا برعکس اگر تیک چک گزینه خیر زده شد چک گزینه بله از حالت چک خارج شود و تیک دار نباشد.

ممنون میشم راهنمایی بفرمایید

MasoudAdmin
دوشنبه 20 شهریور 1402, 22:04 عصر
با سلام. دوستان هیچ راهکاری واسه این موردی که من اعلام کردم وجود داره؟
ممنون میشم کمک کنید.

ROSTAM2
دوشنبه 20 شهریور 1402, 22:33 عصر
با سلام. دوستان هیچ راهکاری واسه این موردی که من اعلام کردم وجود داره؟
ممنون میشم کمک کنید.

سلام
منظور از بله خیر چیه؟!
دقت کنید چک باکس رو برای این ساختن که جواب سوال بله یا خیر رو به دست بیارن....

MasoudAdmin
سه شنبه 21 شهریور 1402, 13:45 عصر
با سلام
اون ستون های گروه اصلی و فرعی متنش انتهاش آمده رعایت شده است؟
کاربر باید واسه هر ردیف یک گزینه رو انتخاب کنه. اگر رعایت شده بله و اگر رعایت نشده خیر رو انتخاب کند. همین
حالا این که واسه هر ردیف فقط یک گزینه کاربر حق داره انتخاب کنه (بله یا خیر) رو چجوری باید کدنویسی بشود نمی دونم.

ROSTAM2
سه شنبه 21 شهریور 1402, 16:23 عصر
من که متوجه نشدم
بالاخره شما یک مقداری ذخیره می کنی اون مقدار اگر 1 با شه True و اگر 0 باشه False هست ....
Statements - C#‎‎‎‎‎‎ language specification | Microsoft Learn (https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/statements#1382-the-if-statement)

MasoudAdmin
سه شنبه 21 شهریور 1402, 18:50 عصر
با سلام.
تو ویندوز اپلیکیشن بلدم و این کار رو کردم. الان تو Asp.net web from همونجوری که درخواست من هست، تو هر ردیف، وقتی ردیفی داره Select میشه و کاربر یکی از ستون های بله یا خیر رو انتخاب میکنه، اگر بله رو انتخاب کرد گزینه خیر UnCheck بشه و برعکسش اگر گزینه خیر رو انتخاب کرد گزینه بله UnChecke بشه. من اینو از دوستان میخوام راهنمایی کنم.
در ویندوز اپلیکیشن یک پراپرتی داره که میشه باهاش این کار رو کرد که کدش این هست:

private void dgvCheckList_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvCheckList.CurrentRow.Cells[5].Value != null && (bool)dgvCheckList.CurrentRow.Cells[5].Value && dgvCheckList.CurrentRow.Cells[6].Value == null)
{
dgvCheckList.CurrentRow.Cells[5].Value = true;
dgvCheckList.CurrentRow.Cells[5].Value = null;
dgvCheckList.CurrentRow.Cells[6].Value = false;
}
else if (dgvCheckList.CurrentRow.Cells[5].Value == null && dgvCheckList.CurrentRow.Cells[6].Value != null && (bool)dgvCheckList.CurrentRow.Cells[6].Value)
{
dgvCheckList.CurrentRow.Cells[6].Value = true;
dgvCheckList.CurrentRow.Cells[6].Value = null;
dgvCheckList.CurrentRow.Cells[5].Value = false;
}
else if (dgvCheckList.CurrentRow.Cells[5].Value == null && dgvCheckList.CurrentRow.Cells[6].Value == null)
{
dgvCheckList.CurrentRow.Cells[5].Value = false;
dgvCheckList.CurrentRow.Cells[6].Value = false;
}
else
{
dgvCheckList.CurrentRow.Cells[5].Value = false;
dgvCheckList.CurrentRow.Cells[6].Value = false;
}
}


الان واسه وب فرم همچین پراپرتی واسه GridView نداره.