PDA

View Full Version : سوال: تنظیم سطوح دستیابی کاربران در برنامه



zharfa
شنبه 05 مهر 1393, 07:35 صبح
درود ...
میخواستم برای کاربران یه برنامه مثل شکل زیر سطوح دستیابی رو تعریف کنم
فقط نمیدونم آیا اینا باید تو دیتابیس ذخبره بشن؟(منظورم به ازای تک تک گزینه ها باید فیلد تعریف کنم؟)
ضمنا امکان اینکه گزینه ها ریز تر بشن هم هست ...
ممنون میشم اگر یاری رسانی کنید

gerdioz
شنبه 05 مهر 1393, 07:48 صبح
سلام در مورد دسترسی کاربران فرض کنید شما در صفحه اصلی برنامه شکلی به صورت زیر دارید
123937
خب حال در یک فرم تمام آیتم های این منو ها رو به صورت چک لیست نمایش می دهیم تا کاربر بتونه دسترسی روبده
برای این کار ابتدا منوی مورد نظر در فرم اصلی رو به صورت عمومی تعریف می کنیم در خاصیت ها خاصیت Modifiers=true
در فرم دسترسی به منوهای آن دسترسی یافته و تمام آنها را به صورت چک لیست مثل شکل زیر نمایش می دهید
123938
حال هر آیتمی که چک زده می شود در بانک اطلاعات برای آن کاربر نمایش داده میشود
در صورتی که با این سناریو موافقید کدها شو بدم

zharfa
شنبه 05 مهر 1393, 07:58 صبح
خب حال در یک فرم تمام آیتم های این منو ها رو به صورت چک لیست نمایش می دهیم تا کاربر بتونه دسترسی روبده
برای این کار ابتدا منوی مورد نظر در فرم اصلی رو به صورت عمومی تعریف می کنیم در خاصیت ها خاصیت Modifiers=true
در فرم دسترسی به منوهای آن دسترسی یافته و تمام آنها را به صورت چک لیست مثل شکل زیر نمایش می دهید

این قسمتو نفهمیدم میشه بیشتر توضیح بدید؟

zharfa
شنبه 05 مهر 1393, 08:02 صبح
من فرمی که تو عکس پست 1 هست رو باید طراحی کنم.
اینکه گفتید منو ها رو به صورت عمومی و... تعریف میکنیم و ...
رو دقیق متوجه نشدم

gerdioz
شنبه 05 مهر 1393, 08:15 صبح
ببخشید شاید خوب توضیح ندادم
شما یه منو دارید درسته بر روی من کلیک کنید و خاصیت
Modifiers=true رو به صورت تغییر دهید
123941

خب ابن تا تا اینجا و ما فرض می کنیم اسم این فرم اصلی مون frm_main هست و نام منوی ما sidbar1
در فرم دسترسی اینکه تمام منو های فرم اصلی رو به صورت درختی نمایش دهیم یک شی TreeView به نام treeView1 قرار می دهیم

و کد زیر را می نویسیم
frmmain frm=new frmmain(); int cnt = frm.sideBar1.Items.Count;
foreach (ToolStripMenuItem menu in frm.sideBar1.Items)
{
menu.Visible = true;
treeView1.Nodes.Add("x", menu.Text);
}
foreach (ToolStripMenuItem menu in frm.sideBar1.Items)
{
menu.Visible = true;


for (int i = 0; i < menu.DropDown.Items.Count ; i++)
{
treeView1.Nodes[j].Nodes.Add("X", menu.DropDown.Items[i].Text);
}
j++;

}


این تکه کد تمام منوهای منوی اصلی رو در شی Treeview به صورت درختی نمایش می دهد

zharfa
شنبه 05 مهر 1393, 08:36 صبح
ممنون دوست عزیز
فقط اون متغیر j مقدار نگرفته آیا منظورتون همون i بوده؟

zharfa
شنبه 05 مهر 1393, 08:40 صبح
J=0 شد درست شد فقط چک لیست نیست به صورت گزینه ای اومده که اونم گزینه CHECK BOX=TRUE کردم درست شد
(اینها رو محض دوستان مبتدی مثل خودم گفتم)

بفرمائید شما

gerdioz
شنبه 05 مهر 1393, 08:44 صبح
int j = 0;

ببخشید

ghasem110deh
پنج شنبه 01 آبان 1393, 18:37 عصر
حاجی سورس برنامه رو میزارین ؟
لطفا

gerdioz
شنبه 03 آبان 1393, 07:33 صبح
سلام من ی نمونه با اکسس گذاشتم اگه خواستید با بانک اس کیوال هم میزارم زیاد فرقی ندارد
http://uploadboy.com/ngqot9nfy29o.html

ghasem110deh
شنبه 03 آبان 1393, 18:28 عصر
سلام و ممنون بابت سورس !
پسورد رو هم بگین :چشمک:

danialafshari
شنبه 03 آبان 1393, 21:52 عصر
رمز برنامه admin , admin هست
رمز db : 2261

hadi vafaii
یک شنبه 04 آبان 1393, 01:47 صبح
سلام من ی نمونه با اکسس گذاشتم اگه خواستید با بانک اس کیوال هم میزارم زیاد فرقی ندارد
http://uploadboy.com/ngqot9nfy29o.html

عرض سلام دارم خدمت تمام دوستان بابت سورسی که قرار دادین ممنون اما متسفانه نمیتونم دانلودش کنم اگه ممکنه جایی آپلود کنید که ILivid نخواد هر کاری کردم ILivid هم دانلود نشد که نصبش بکنم تا به وسیله اون دانلود کنم ممنون

gerdioz
یک شنبه 04 آبان 1393, 08:09 صبح
باسلام
روی سرور دیگه بارگذاری کردم
http://cld.persiangig.com/download/f5r7vdBgjD/Sales.rar/dl

ghasem110deh
پنج شنبه 08 آبان 1393, 19:33 عصر
سلام
من یخورده گیج شدم ... میخوام واسه sql و برنامم اینو پیاده کنم ولی نمیدونم از کجا شروع کنم ؟

ghasem110deh
جمعه 09 آبان 1393, 12:52 عصر
سلام
الان چطور باید اون چکباکس ها رو به تری ویو اضافه کرد ...
و بعد ربطشون داد به دیتابیس که تعیین سطح دسترسی رو انجام بدم ؟
البته بانکم sql هستش .
--------------------------
یه سوال دیگه : با تری ویو چطور تمام فرم (پنجره) های برنامه رو نشون بدم ؟

Yanehsar
جمعه 09 آبان 1393, 18:32 عصر
درود ...
میخواستم برای کاربران یه برنامه مثل شکل زیر سطوح دستیابی رو تعریف کنم
فقط نمیدونم آیا اینا باید تو دیتابیس ذخبره بشن؟(منظورم به ازای تک تک گزینه ها باید فیلد تعریف کنم؟)
ضمنا امکان اینکه گزینه ها ریز تر بشن هم هست ...
ممنون میشم اگر یاری رسانی کنید
سلام دوست عزیز احتیاج نیست شما دقیقا از فرمی که gerdioz (http://barnamenevis.org/member.php?87770-gerdioz) گفتن استفاده کنید که .همین فرمی که طراحی کردید خوبه .حالا باید تصمیم بگیرید که چطوری دسترسی بدید !!!! کاربری یا گروهی
اگر کاربری بخواهید دسترسی بدید باید برای هر کاربر بیاید و به تمام نقاطی که دارید دسترسی درست کنید شما اگر کاربر برنامتون زیاده بیاید از گروه استفاده کنید یکبار دسترسی برای اون گروه تعریف می کنید و هر چندتاکاربر که بخواهی بهش اد می کنید .مثلا آدمین به کل برنامه یا حسابداری به کارهای حسابداری ، انباردار به کارهای انبار داری ....

ghasem110deh
دوشنبه 12 آبان 1393, 09:35 صبح
سلام gerdioz (http://barnamenevis.org/member.php?87770-gerdioz) ، نیستی ؟
خیلی گیرم ... برنامم تقریبا تمومه ، فقط این قسمت مونده و (ذخیره اطلاعات خونده شده از اکسل در بانک)

Behnam6670
چهارشنبه 14 آبان 1393, 06:58 صبح
اگه بخوای داخل یه فرم به یه button دسترسی بدی چی(و اگه تعدا فرم ها زیاد باشه)؟اونوقت بهترین راه چیه؟

gerdioz
یک شنبه 02 آذر 1393, 07:15 صبح
با سلام
بنده یک نمونه ساده تصویری گذاشتم اگه سوالی بود در خدمتم
http://uplod.ir/gj61yqj0zzoo/Desktop.rar.htm

Yanehsar
یک شنبه 02 آذر 1393, 21:38 عصر
اگه بخوای داخل یه فرم به یه button دسترسی بدی چی(و اگه تعدا فرم ها زیاد باشه)؟اونوقت بهترین راه چیه؟
بهترین راه دسترسی گروهی هستش اصلا فرم برای کاربر باز نشه ! تا بخواهید به یه کاربر دسترسی به فرم بدید و بخواهید button دسترسی نداشته باشید باید تمام برنامتون رو داخل سطوح دسترسی بیارید و کاربر به کاربر دسترسی بدید شاید تو برنامه های کوچک که چند تا کار ساده حذف ، اضافه ، ویرایش انجام میدن کار ساده ای باشه اما فرض کنید یه برنامه مدیریت بیمارستانی یا یه برنامه پیشرفته باشه با کلی فرم و کارهای مختلف و کاربرهای مختلف ... اون فقط چی ؟به نظرتون میشه بیایم کاربر به کاربر فرم به فرم buttonبه button دسترسی بدیم ؟؟؟

ghasem110deh
پنج شنبه 06 آذر 1393, 08:41 صبح
بهترین راه دسترسی گروهی هستش اصلا فرم برای کاربر باز نشه ! تا بخواهید به یه کاربر دسترسی به فرم بدید و بخواهید button دسترسی نداشته باشید باید تمام برنامتون رو داخل سطوح دسترسی بیارید و کاربر به کاربر دسترسی بدید شاید تو برنامه های کوچک که چند تا کار ساده حذف ، اضافه ، ویرایش انجام میدن کار ساده ای باشه اما فرض کنید یه برنامه مدیریت بیمارستانی یا یه برنامه پیشرفته باشه با کلی فرم و کارهای مختلف و کاربرهای مختلف ... اون فقط چی ؟به نظرتون میشه بیایم کاربر به کاربر فرم به فرم buttonبه button دسترسی بدیم ؟؟؟

این که شما فرمودین درسته !
بیشتر توضیح بدین و هم اینکه یه نمونه ای ، چیزی :)
البته من تو همینم گیر کردم !؟

ghasem110deh
پنج شنبه 06 آذر 1393, 08:59 صبح
toolstrip رو نمیشه توی تری ویو نمایش داد ؟
من اینجوری نوشتم از tol خطا میگیره ؟


// int b = mn.toolStrip1.Items.Count; // foreach (ToolStrip tol in mn.toolStrip1.Items)
// {
// menu.Visible = true;
// treeView1.Nodes.Add("x", menu.Text);
// }
// foreach (ToolStrip tol in mn.toolStrip1.Items)
// {
// menu.Visible = true;
// int d = 0;
// for (int i = 0; i < menu.DropDown.Items.Count; i++)
// {
// treeView1.Nodes[j].Nodes.Add("X", menu.DropDown.Items[i].Text);
// }
// d++;
// }

ghasem110deh
جمعه 07 آذر 1393, 16:41 عصر
[QUOTE=ghasem110deh;2138819]toolstrip رو نمیشه توی تری ویو نمایش داد ؟
من اینجوری نوشتم از tol خطا میگیره ؟

الان این مهمه برام :
عناوین فیلدهای یک جدول رو به صورت درختی نمایش بدم !
جون داداش راهنمایی کنید !