PDA

View Full Version : مشكل كار با Tree View در سي شارپ



beno2009
یک شنبه 04 خرداد 1393, 12:46 عصر
سلام بچه ها
من دارم براي نرم افزارم يك سطح دسترسي طراحي مي كنم مي خوام اگر بر روي Node پدر يا بالايي كليك كنم CheckBox اون وقتي تغيير كرد اون تغيرات هم بر Node هاي بچه يا پائييني اعمال بشه
كسي ميدونه چطوري ميشه انجامش داد. لطفا كمك كنيد:اشتباه:
119451

Davidd
یک شنبه 04 خرداد 1393, 14:39 عصر
توي AfterCheck Event اين كد بنويسيد
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
foreach (TreeNode child in e.Node.Nodes)
child.Checked = e.Node.Checked;
}

beno2009
یک شنبه 04 خرداد 1393, 16:23 عصر
راستي اگر بخوام براي هرNode يك دستور بنويسم يعني بخوام True يا false با توجه به checked بودن برگردونه و بفرسته به ديتابيس و سطح دسترسي براي كاربر رو تعيين كنم بايد براي تك تك Node ها كد بنويسم يا حلقه اي مثل بالا هست كه كارمو راحت كنه؟

حسین.کاظمی
پنج شنبه 04 شهریور 1395, 23:10 عصر
سلام به همگی
شرمنده که این تاپیک نسبتا قدیمی را بروز کردم.....
تورو خدا ینفر کمکم کنه یه پروژه دارم که باید شنبه تحویلش بدم و همین مشکل را دارم در نرم افزارم یه فرم برای تعیین حق دسترسی ایجاد کردم و میخام بااستفاده از treeview ایی که خودم دستی پرش کردم میخام نودهایی که تیک خورده باشند رامقادیر هرکدوم در فیلد مربوطه خود در جدول بانک اطلاعاتیم ذخیره بشه.....
چه کدی را باید بنویسم؟؟؟؟؟؟؟؟

alireza4474
جمعه 05 شهریور 1395, 01:03 صبح
سلام من خودم از این کد توی پروژه ام استفاده میکنم

private void addAccess(TreeNodeCollection TNC, string userID)
{
foreach (TreeNode tn in TNC)
{
if (tn.Nodes.Count > 0)
{
addAccess(tn.Nodes, userID);
}

else
{
if (tn.Checked)
{
special.error = access.addAccess(tn.Name, userID);

if (special.error != "")
{
special.sqlError();

return;
}
}
}
}
}


من به ازای هر کدوم node هایی که تیک حوردن یه رکورد وارد پایگاه داده می کنم

اگه کد هارو نفهمیدی بگو تا بازم توضیح بدم

juza66
جمعه 05 شهریور 1395, 01:08 صبح
سلام،

هر چک باکس Node که اضاف میکنی ایندکس داره مثه کمبوباکس، ایندکس 0 چک باکس اولیست... فکر کنم کافی باشه متوجه شدید تا الان..

حسین.کاظمی
جمعه 05 شهریور 1395, 01:46 صبح
سلام من خودم از این کد توی پروژه ام استفاده میکنم

private void addAccess(TreeNodeCollection TNC, string userID)
{
foreach (TreeNode tn in TNC)
{
if (tn.Nodes.Count > 0)
{
addAccess(tn.Nodes, userID);
}

else
{
if (tn.Checked)
{
special.error = access.addAccess(tn.Name, userID);

if (special.error != "")
{
special.sqlError();

return;
}
}
}
}
}


من به ازای هر کدوم node هایی که تیک حوردن یه رکورد وارد پایگاه داده می کنم

اگه کد هارو نفهمیدی بگو تا بازم توضیح بدم


منظوراز این special چیه؟؟؟

حسین.کاظمی
جمعه 05 شهریور 1395, 01:49 صبح
سلام،

هر چک باکس Node که اضاف میکنی ایندکس داره مثه کمبوباکس، ایندکس 0 چک باکس اولیست... فکر کنم کافی باشه متوجه شدید تا الان..

منوجه شدم برای بدست آوردن چک باکس ها و ذخیره تک تک آنها دربانک باید چکار کنم؟؟؟؟

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

محمد آشتیانی
جمعه 05 شهریور 1395, 09:53 صبح
سلام به همگی
شرمنده که این تاپیک نسبتا قدیمی را بروز کردم.....
تورو خدا ینفر کمکم کنه یه پروژه دارم که باید شنبه تحویلش بدم و همین مشکل را دارم در نرم افزارم یه فرم برای تعیین حق دسترسی ایجاد کردم و میخام بااستفاده از treeview ایی که خودم دستی پرش کردم میخام نودهایی که تیک خورده باشند رامقادیر هرکدوم در فیلد مربوطه خود در جدول بانک اطلاعاتیم ذخیره بشه.....
چه کدی را باید بنویسم؟؟؟؟؟؟؟؟

سلام
Treeview رو چطوری پر میکنی و اینکه چطور تشخیص میدی هر node از treeview با کدوم فیلد از جدولت ارتباط داره؟ (مثلا نام هر نود ، معادل نام یک فیلد هست؟)
اگر بتونی این بخش پروژه رو بعلاوه ساختار اون جدول بانک اطلاعاتی که قراره برای ثبت اطلاعات استفاده کنی رو اینجا بذاری راهنمایی کاملتری میگیری. (کل پروژه نیازی نیست ، در قالب یک پروژه تستی ، فقط همین بخش پر کردن treeview رو بذاری کافیه)

حسین.کاظمی
جمعه 05 شهریور 1395, 10:15 صبح
سلام

سلام
Treeview رو چطوری پر میکنی

تری ویو را دستی پر میکنم

142193


سلام
چطور تشخیص میدی هر node از treeview با کدوم فیلد از جدولت ارتباط داره؟ (مثلا نام هر نود ، معادل نام یک فیلد هست؟)


مشکلم دقیقا همینجاست.:گریه:


و در مورد ساختار بانک هم بگم به ازای هر نود یک فیلد بولین اختصاص دادم (مثلا اگه 20تا نود داشته باشم 20تا فیلد بولین در جدول بانکمم دارم!):لبخندساده:

حسین.کاظمی
شنبه 20 شهریور 1395, 20:22 عصر
آقای آشتیانی عزیز کجا رفتید پس؟:لبخند: