PDA

View Full Version : سوال: وضعیت چک باکس در treeview



moory1364
شنبه 14 اردیبهشت 1392, 20:10 عصر
با عرض سلام و ادب
من ی treeview ساختم که می خوام با وضعیت چک باکس ها رو به ترتیب از بالا تا پاین از ریشه پدر فرزند ... به دیتابس انتقال بده
و همچنین از دیتابس به treeview داخل سایت هم جستوج زدم چیزی دستگیرم نشده

با ورود و خروج xml مشکلی ندارم
با تشکر


http://up.vbiran.ir/uploads/13676839433121_004-05-2013%2008-41-45%20%D8%A8-%D8%B8.png

moory1364
شنبه 14 اردیبهشت 1392, 23:10 عصر
دوستان کسی نیست کمکم کنه !

کامبیز اسدزاده
شنبه 14 اردیبهشت 1392, 23:23 عصر
خب روشی رو که میگم میتونید پیاده سازی کنید !

شما CheckBox های ایجاد شده رو ۱۰۰٪ برای هر کدوم یک نام در نظر گرفتین خب تا اینجا که روشنه شما بین کد ذخیره سازی اطلاعات در دیتابیس باید به روش زیر عمل کنی

۱.بر فرض اینکه نام CheckBox (یخچال) باشه Check_B میتونید به این صورت در بین یک دستوری وضعیت انتخابی چک باکس رو بررسی و به دیتابیس ارسال کنید.

برای مثال :



if (Check_A.IsChecked == true)
{
MessageBox.Show("انتخاب شده است");
}

Data_CHeck1 = Check_A.IsChecked.Value.ToString();



در این مثال ساده مشخصه شما میتونید هم شرط بزارید و یا میتونید مستقیم مقدار وضعیت CheckBox انتخاب شده در لیست رو به یک متغیری با نام مثلا Data_Check1 ریخته و مقدار متغیر رو به فیلد موجود در دیتابیس انقال و ارسال نمایید که ذاتا باید وضعیت ۱ را در حالت انتخاب شده و وضعیت ۰ را در حالت غیر انتخابی ارسال نماید.

moory1364
یک شنبه 15 اردیبهشت 1392, 00:46 صبح
ممنون بابت راهنمایت متاسفانه با اسامی کاری نداره فقط node
مثال برای بخش خودرو :
radTreeView2.Nodes[0].Nodes[0].Checked == true
یا
radTreeView2.Nodes[0].Nodes[0].CheckState == Telerik.WinControls.Enumerations.ToggleState.On

کار می کنه
برای شمارش فرزندان node انتخاب شده

int i = radTreeView2.SelectedNode.Nodes.Count;

moory1364
یک شنبه 15 اردیبهشت 1392, 20:11 عصر
دوستان کارم خیلی گیره ممنون میشم کمکم کنید
با تشکر

khokhan
یک شنبه 15 اردیبهشت 1392, 20:30 عصر
دوستان کارم خیلی گیره ممنون میشم کمکم کنید
با تشکر

نودها رو دستی وارد کردین ؟؟؟؟؟؟؟

khokhan
یک شنبه 15 اردیبهشت 1392, 20:56 عصر
ابتدا بایستی چک کنی که آیا نودی از طریق چک باکس انتخاب شده یا نه بعد با یه حلقهforeach نودهای تیک خورده رو به دیتابیس وارد می کنی


protected void btn1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=KHOKHAN\SQLEXPRESS;Initial Catalog=VOY_SERVICES1;Integrated Security=True"); con.Open();

foreach (TreeNode tnode in TreeView1.CheckedNodes)
{


if (tnode.Checked == true)
{

string strTreeValue;
strTreeValue = tnode.Value;
SqlCommand com = new SqlCommand("insert into treeview_select(subdisease_name) values(@name)", con);

com.Parameters.AddWithValue("@name", strTreeValue);
com.ExecuteNonQuery();
con.Close();

}
}
}

moory1364
یک شنبه 15 اردیبهشت 1392, 23:46 عصر
نودها رو دستی وارد کردین ؟؟؟؟؟؟؟
بله
با دستور foreach یعنی خط به خط وارد دیتابس می کنه ! ( فقط چک باکس های که فعال شدن )
برای فرا خوانی دوباره پر کردن چک باکس های که وارد دیتابس شده چه دستوری بنویسم ؟
یعنی می خوام مثل xml کار کنه با ی دستور حقله تک تک وارد دیتابیس شه و همچنین تک تک فیلد های جدول دیتابس فراخوانی کنه
نکته : به تعداد نودهام باید داخل جدولم فلید بسازم !
یا می توم ی xml برای کاربر مورد نظرم خروجی بدم تا وقت لاگین شدن فراخوانی کنه از رو اون دست رسی بده !

moory1364
سه شنبه 17 اردیبهشت 1392, 19:59 عصر
دوستان کمکم می کنید
با تشکر

mehrdad1991h
چهارشنبه 18 اردیبهشت 1392, 01:07 صبح
دوستان کمکم می کنید
با تشکر

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

دقیقا مشکل شما را داشتم با چنین روشی حل شد
اگر متوجه نشدی بگو برات یه مثال هم بسازم اپلود کنم

-------
کار خیلی ساده ای هست ولی برای اولین بار مخ ادم هنگ میکنه هیچ جوری نمیتونه اوکی کنه .... :)
میگردم تو پروژه هام ببینم چیزی اماده دارم بزارم برات اگه پیدا کردم میزارم وگرنه اطلاع بده اگر لازم داری تا یه دونه اماده کنم برات بزارم

moory1364
چهارشنبه 18 اردیبهشت 1392, 11:17 صبح
بله اسم گذاشتم
درست کردم ی ند 100 تای 600 خط نوشتم خوب غیر مغلول شده دیگه
لطف می کنی کمکم کنی

mehrdad1991h
چهارشنبه 18 اردیبهشت 1392, 12:47 عصر
بله اسم گذاشتم
درست کردم ی ند 100 تای 600 خط نوشتم خوب غیر مغلول شده دیگه
لطف می کنی کمکم کنی

بیا برات یه نمونه درست کردم همه توضیحات لازم را هم دادم
خودت با کمی ادیت میتونی به نتیجه ای که میخوای برسی
فقط باید داده ها را از بانک بخونی !
(یه نفر تشکر نکرد !:قهقهه:)

moory1364
چهارشنبه 18 اردیبهشت 1392, 19:24 عصر
حاجی ی دونه باشی عروسیتتتتتتتتتتتتتت :D
چک می کنم

shojaiehamid
پنج شنبه 10 مرداد 1392, 21:45 عصر
با سلام خدمت دوستان عزيزم .

مطلب بالا را مطالعه كردم بسيار خوب بود.

يك مشكل دارم . من داخل فرمم به تعداد نامشخصي check box بصورت دايناميكي ايجاد مي كنم. براي ادامه برنامه بايد وضعيت چك بودن يا نبودن را بررسي كنم .

به كنترل هاي check box دسترسي پيدا مي كنم ولي نمي تونم براي اونا شرط checked را بررسي كنم .
لطفا راهنمايي كنيد

hojjatshariffam
جمعه 11 مرداد 1392, 01:53 صبح
با سلام خدمت دوستان عزيزم .

مطلب بالا را مطالعه كردم بسيار خوب بود.

يك مشكل دارم . من داخل فرمم به تعداد نامشخصي check box بصورت دايناميكي ايجاد مي كنم. براي ادامه برنامه بايد وضعيت چك بودن يا نبودن را بررسي كنم .

به كنترل هاي check box دسترسي پيدا مي كنم ولي نمي تونم براي اونا شرط checked را بررسي كنم .
لطفا راهنمايي كنيد
از این کد استفاده کن

foreach (Control chk in this.Controls)
{
if (chk is CheckBox)
{
textBox1.Text = (chk as CheckBox).CheckState.ToString();
}
}