PDA

View Full Version : جستجو در دیتاگریدویو توسط چند تکست باکس



silver189
چهارشنبه 10 دی 1393, 17:34 عصر
با سلام
من یک فرم دارم به شکل زیر :

127083

تمام اطلاعات تکست باکس هنگام لود صفحه پر می شوند حالا من می خواهم وقتی یک نفر وارد شد اگه کارمند بود فقط گزارشات خودش رو ببینه ولی اگه مدیر بود گزارش کل واحد رو ببینه
من با کد زیر می تونم فقط برای یک واحد این کار رو انجام بدم اگه مثلا برای اضافه کردن چندیدن مدیر مثل مدیر مالی و یا مدیر حسابداری و ... به این شکل عمل کنم باید چه کاری انجام بدم :

private void FilterDataGrid()

{
if (txtJob.Text != "مدیر انفورماتیک".Trim().Replace("'", "''"))
{
try
{
((DataTable)dataGridView1.DataSource).DefaultView. RowFilter = string.Format("Department like '%{0}%' ", txtDepartment.Text.Trim().Replace("'", "''"));
((DataTable)dataGridView1.DataSource).DefaultView. RowFilter = string.Format("Person like '%{0}%' ", txtPerson.Text.Trim().Replace("'", "''"));

}

catch (Exception) { }
}
else
{
try
{
((DataTable)dataGridView1.DataSource).DefaultView. RowFilter = string.Format("Department like '%{0}%' ", txtDepartment.Text.Trim().Replace("'", "''"));
}

catch (Exception) { }
}

}


در ضمن می دونم که باید در یک حلقه این کار انجام بشه ولی هرکاری کردم نتونستم . اگه دوستان با نمونه کد یاری بفرماند ممنون می شم .

samadblaj
چهارشنبه 10 دی 1393, 21:43 عصر
سلام ساده ترین راه :
قرار دادن یک فیلد در فرم اطلاعات کاربر "نوع | Type" که میتونه هر چیزی باشه مثلا برای کاربر عادی 1 پر شود برای کاربر حسابدار 2 و برای مدیر 3 که در هنگام ورود در یک متغییر Public (عمومی) شده قرار بدید و در فرم ها کد رو فیلتر و محدودیت قرار دهید.

silver189
پنج شنبه 11 دی 1393, 12:04 عصر
امکانش هست یه نمونه برام بزارید ؟

ro3vayedel
پنج شنبه 11 دی 1393, 12:23 عصر
به table اطلاعات اشخاصتون یک رکورد اضافه کنید بعنوان Flag از مثلا lزنوع nvarchar
و همونجا هنگام ثبت نام افراد تعیین کنید این شخص چه نوع دسترسی داره ؟
البته تمام اینها قراردادی بین خودتونه مثلا کارمند عادی "1"وبرای مدیرفلان قسمت"2"و ...
در قسمت نمایش این فرمی که بالا گذاشته اید شرط بگذارید اگر فلاگ این شخص 1 بود اطلاعات فیلتر شده نمایش داده بشه و اگر فلاگ 2 بود تمام اطلاعات
بازم میگم تمام این اعداد و نامگذاری ها قراردادیه شما هرچی دوست دارید بذارید اما حتما در یک Comment مشخص کنید که 1 چیه و 2 چیه و 3 چیه ...تا دفعات بعدی که وارد برنامه شدید سردرگم نشید.