PDA

View Full Version : سوال: دیتا گرید ویو و چک باگس



rb_640
سه شنبه 19 شهریور 1387, 00:19 صبح
من تو دیتا گریدم یک ستون چک باگس و یک ستون دیگه که تکست رو از تو جدول میگره و به کاربر نشون میده دارم. حالا میخوام برنامه وقتی چک خوردن چگ باگس ها رو فهمید بیاد و اون ستون های متناظر با اون چگ باگس ها رو با گذاشتن یه اسلش بین اونها جمع کنه و به جدول بده. اینکه برنامه چه جوری چک خوردن چک باگس ها رو تشخیص میده رو میدونم اما بقیه رو نه! ممنون میشم کمکم کنید.

rb_640
سه شنبه 19 شهریور 1387, 18:48 عصر
یه نفرم جواب منو هم بده!!!

nkhozooii
چهارشنبه 20 شهریور 1387, 08:59 صبح
اين را دستي نوشتم بايد جواب بدهد:
كد:


foreach (GridViewRow gvrow in GridView2.Rows)
{
CheckBox chk = (CheckBox)gvrow .FindControl("نام چك باكس");
TextBox txt= (TextBox) gvrow .FindControl("نام تكست باكس");
if (chk.Checked)
{
int sum+=Convert.Toint32(txt.Text);
}

}

rb_640
چهارشنبه 20 شهریور 1387, 15:47 عصر
من تعداد چک باگس های علامت خورده منظورم نیست .یه بار دیگه میگم .یه گرید ویو دارم که دو تا ستون داره یکیشم چگ باگس حالا هر کدوم از این چک باگس ها تیک خورده بود بیاد و فیلد ستون متناظر با اون رو با هم جمع کنه.البته با یه کاراکتر اسلش.

nkhozooii
شنبه 23 شهریور 1387, 15:29 عصر
فیلد ستون متناظر با اون رو با هم جمع کنه.البته با یه کاراکتر اسلش.
دوست عزير در اين كد هم ستون متناظر با چك باكس ها ( كه در اينجا يك تكست باكس فرض شده با هم جمع شده اند.يعني مقابل هر چك باكس به طور مثال تكست باكسي بوده كه مقداري داشته و مقادير آنها با هم جمع شده. البته كاراكتر از نوع عددي فرض شده و مجموع نوشته شده.) اگر هم بخواهي مي تواني به اين صورت با اسلش به صورت رشته بنويسي اگر منظورت از جمع كنار هم آوردن آنها باشد.اگر باز جواب نگرفتي منظورت را از فيلدستون متناظر واضح تر بيان كن


foreach (GridViewRow gvrow in GridView2.Rows)
{
CheckBox chk = (CheckBox)gvrow .FindControl("نام چك باكس");

TextBox txt= (TextBox) gvrow .FindControl("نام تكست باكس");
if (chk.Checked)
{

string sum += txt.Text.ToString()+"/";

}
‌}

در اينجا ابتدا تكست باكسهايي كه همان فيلدهاي ستون متناظر چك باكسها است شناسايي مي شوند و بعد كنار هم چيده مي شود.

rb_640
سه شنبه 26 شهریور 1387, 12:04 عصر
آقا این که ارور میده

Behnam2bh
سه شنبه 26 شهریور 1387, 12:24 عصر
سلام منم همچین مشکلی داشتم و هیچ راحلی رو پیدا نکردم در نهایت یه چک باکس لیست به دیتابیش باند کردم و از اون استفاده کردم
و بعد به این ترتیب ازش استفاده کردم
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
{
به همین سادگی از گرید ویو راحتره و همون کار رو انجام می ده
موفق باشید.