PDA

View Full Version : سوال: tabcontrol



goli_bushehr
شنبه 06 اسفند 1390, 08:46 صبح
3 تا tabpage دارم
چجوری میتونم واسه یک کاربر خاص یکی شو مخفی کنم؟

bita133000
شنبه 06 اسفند 1390, 10:10 صبح
باید شما به هر tab یک کد بدین و در دیتابیس اونا رو ثبت کنین و دسترسی رو به یوزر بدین هنگامی که لاگین می کنه بر اساس دسترسی اش چیده می شه
یک روش دیگه هم اینه که ای دی به تب بدین و اونو show hidden کنین یعنی توی کدتون چک کنین اگه یوزره همونه اون تب رو نمایش بدین

Hybrid
شنبه 06 اسفند 1390, 10:23 صبح
دوست عزیز ، Tabcontrol خود VS این قابلیت ( Hide کردن Tabpage ) رو نداره میتونین از Tabcontrol های بسته ی Dotnetbar یا جانوس استفاده کنین.

موفق باشید./

shadi khanum
شنبه 06 اسفند 1390, 14:44 عصر
من خودم همین مشکل رو داشتم و از تب شرکت Telerik استفاده کردم و راضی هم هستم

gwbasic
شنبه 06 اسفند 1390, 16:19 عصر
3 تا tabpage دارم
چجوری میتونم واسه یک کاربر خاص یکی شو مخفی کنم؟

عدم نمایش یک tabPage در tabControl از طریق متدهای Remove و یا RemoveAt به صورت زیر انجام می شود. فرض کنید tabpage1 تب مورد نظر شما باشد و اندیس آن در tabControl سه می باشد.



tabControl.TabPages.Remove(tabpage1);
tabControl.TabPages.RemoveAt(3);

از هر دو روش بالا می تونید استفاده کنید. البته دقت داشته باشید که tabpage بطور کل حذف نمی شود و فقط نمایش داده نمی شود و برای اینکه دوباره نمایش داده شود از متد Add می تونید استفاده کنید.


باید شما به هر tab یک کد بدین و در دیتابیس اونا رو ثبت کنین و دسترسی رو به یوزر بدین هنگامی که لاگین می کنه بر اساس دسترسی اش چیده می شه
یک روش دیگه هم اینه که ای دی به تب بدین و اونو show hidden کنین یعنی توی کدتون چک کنین اگه یوزره همونه اون تب رو نمایش بدین

ثبت اطلاعات UI در دیتابیس و ایجاد وابستگی بین ظاهر فرم و دیتابیس پیچیدگی مسئله رو بیشتر می کنه چراکه با تغییر هر جزء از فرم اطلاعات وابسته در دیتابیس نیز باید تغییر کند و این مسئله باعث پیچیدگی می شه و نگهداری کد رو بسیار سخت می کنه!

بهتر است بر اساس نقشی که کاربر داره مثلا مدیر و یا کاربر عادی نمایش و عدم نمایش کنترل ها در داخل فرم مشخص شود. بطور ساده شما می تونید یک فیلد به جدول User اضافه کنید و این نقش رو برای کاربر مشخص کنید و وقتی کاربر login کرد شما می تونید از این فیلد برای دسترسی دادن استفاده کنید.

موفق باشید

goli_bushehr
یک شنبه 07 اسفند 1390, 08:42 صبح
چقد عالی بود
از دستور tabcontrol1.tabpages.removeAt(2 استفاده کردم
خیلی ساده انجام شد
واقعا ممنوووووووووووووووووووووو ووونم:لبخندساده: