در این مقاله قصد داریم در مورد یکی دیگر از کامپوننت های قدرتمند و کاربردی از شرکت DevExpress بنام Scheduler و نیز نحوه استفاده از آن در نرم افزارهای کاربردی را مورد بررسی قرار دهیم. هدف از استفاده از این ابزار صرفاً کنترل و مدیریت زمان می باشد و علاوه برآنکه در نماهای مختلف (روزانه-هفتگی- ماهانه- مدیریت زمان /  TimeLine) قابل استفاده و مشاهده می باشد حتی در رسم نمودار گانت جهت کنترل پروژه و رسم نمودار پیشرفت کار هم به کاربران کمک شایانی میکند. دلیل امکانات وسیع کاربردی و کاربری این کنترل و از طرف دیگر بخاطر خلاصه ترشدن این مقاله، سعی میکنیم به معرفی مهمترین بخش های این ابزار حرفه ای بپردازیم.

این کنترل همانطوریکه از نامش پیداست ابزاریست در خصوص مدیریت زمان ؛

که امکان یادداشت هرگونه قرار ملاقات ها، جلسات، پیگیری امور محوله و… را در زمان دقیق وتعیین شده به کاربر در نماها و حالات مختلفی می دهد که هرکدام از این نماها (Views) دارای وقفه های زمانی متفاوتی بوده و با انتخاب و فعال شدن هرکدام از آنها، عناصر و کنترل های رابط کاربری مربوط به آن نمای فعال همزمان در دسترس استفاده کننده قرار میگیرد و مهمتر اینکه کامپوننت های DevExpress امکان Localize شدن را داشته و بنابراین این کنترل نیز امکان بومی سازی به هر زبان و کالچری را داراست.

parmidasoft_21_7552635939

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

parmidasoft_26_9122252282

همانطوریکه در تصویر فوق مشاهده میکنید، این کامپوننت اسکریپ پایه ای و پیشنهادی جدول اطلاعاتی خود را به راحتی در دسترس برنامه نویس قرار داده تا سرعت و قدرت استفاده از آن لذت بخش تر شود.

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

نمای روزانه (Day View) : نمای دقیقی از قرار ملاقات ها – جلسات و یادداشتهای روزانه در یک روز خاص را به کاربر نمایش می دهد. (به تصویر زیر دقت کنید)

(نمای روزانه در حالت شمسی)

parmidasoft_2_4022558103

(نمای روزانه در حالت میلادی)

parmidasoft_3_2915972555

در حالت اجرا، با کلیک راست روی این کنترل یک منوی میانبر دراختیار کاربر قرار میگیرد که برخی از امکانات ضروری مانند: ایجاد/ویرایش رویداد – جستجوی تاریخ خاص- تغییر نمای کنترل از نمای جاری به سایر نماها و… جهت سهولت استفاده کاربر در اختیار وی قرار میگیرد.(مانند تصویر زیر) :

parmidasoft_4_3567549283

روزهای کاری هفته (Work-Week View) : در اینحالت از این کنترل، کلیه روزهای کاری هفته در دید کاربر قرار میگیرد، البته از طریق پنجره خواص (Properties) می توان روزهای کاری هفته را برای کنترل محدود به روزهای خاصی کرد تا در حالت نمایشی فقط آن روزها قابل مشاهده و در دسترس باشند. (در تصویر زیر ما کلیه روزهای هفته را برای این کنترل درنظر گرفته ایم):

(نمای هفتگی در حالت شمسی- روزجمعه را از دید خارج کرده ایم)

parmidasoft_5_4273195420

نکته) در تصویر فوق به عمد روزهای هفته را در تصویر قرار داده ایم در حالیکه محدودیت این روزها توسط برنامه نویس می تواند در دسترس کاربران استفاده کننده قرار داده نشود.

(نمای هفتگی فیلتر شده در حالت میلادی- روزیکشنبه را از دید خارج کرده ایم)

parmidasoft_6_5813258052

کل ایام هفته (Full Week View): در این مدل از حالت نمایشی کلیه روزهای هفته ای خاص و یادداشت های مربوطه در دسترس کاربر قرار میگیرد.

(در حالت شمسی)

parmidasoft_7_2452963045

(در حالت میلادی)

parmidasoft_8_6176091437

نمای هفتگی (Week View) : نمایانگر قرار ملاقات های ثبت شده در حالت نمایش هفتگی می باشد.

(در حالت شمسی)

parmidasoft_9_1253514639

(در حالت میلادی)

parmidasoft_10_9179820385

نمای ماهانه (Month View) : این مدل نمایشی از این کنترل نمای چند هفته هم نامیده میشود و هفته های مربوطه بصورت افقی کنار هم قرار گرفته و کاربر می تواند با انتخاب هرکدام از قرار ملاقات های ثبت شده در این حالت، به روز(های) آن نیز بطور لحظه ای و مستقیم دسترسی داشته باشد. در این حالت با استفاده از اسکرول های کنار کنترل می توتنیم روزها و ماههای مورد نظر را پیمایش کنیم ضمن اینکه در صورت وجود یادداشت در روزها قبلی/بعدی، کلیدهایی بطور خودکار در دوطرف کنترل نمایان شده که در دسترسی سریعتر به Appointmentهای قبلی/بعدی به کاربر کمک میکنند.

(نمای ماهانه در حالت شمسی)

parmidasoft_11_45917276

(نمای ماهانه در حالت میلادی)

parmidasoft_12_5615647179

نمای مدیریت زمان (TimeLine View) : از این نما می توان با یک مرور کلی بطور شفاف تری برای اهداف برنامه ریزی در طول بازه های زمانی مختلف استفاده کرد.

(نمایش نمای مدیریت زمان در حالت شمسی)

parmidasoft_13_4265784486

به عنوان مثال چنانچه از منوی ظاهر شده ((نمای روزانه)) را انتخاب کنیم، کنترل Scheduler مطابق آیتم انتخابی همانند تصویر زیر تغییر نما خواهد داد.

parmidasoft_14_2326691085

(نمایش نمای مدیریت زمان در حالت میلادی)

parmidasoft_15_3931049495

parmidasoft_16_5333356303

نمای گانت (Guntt View) : با استفاده از این حالت از کنترل DevExpress Scheduler می توان میان  Appointmetهای مختلف ایجاد شده رابطه و همبستگی ایجاد کرده و میزان درصد پیشرفت هرکدام را کنترل نمود. این نما برای استفاده در نرم افزارهای آماری و کاربردی پروژه های مختلف استفاده های زیادی برای کاربرانش دارد.

parmidasoft_17_3692327765

امکان دراگ کردن یادداشتهای ثبت شده بین تاریخ و زمان های مختلف(Internal Drag) و همچنین امکان دراگ کردن اطلاعات از گرید به داخلScheduler که اصطلاحاً (External Drag) نامیده میشوند از دیگر امکانات این کنترل حرفه ای می باشد.

parmidasoft_18_5701930732

شایان ذکر است که سطح دسترسی به امکانات این ابزار برای تک تک کاربران نهایی استفاده کننده توسط برنامه نویس قابل کنترل کامل می باشد از جمله؛ فیلترهای خاص برای مبنای نوع و سطح دسترسی ها – محدود کردن نماها برای کاربران- کنترل کامل بر منوها و ابجکت های ریبون مربوط به این کنترل و… می باشد. حتی امکاناتی مانند حذف کردن یادداشت، ایجاد کردن رویداد جدید، ویرایش کردن رویدادها، دراگ کردن، تغییرسایز یادداشت با استفاده از ماوس، و از دسترس خارج کردن آیتم های منوی راست کلیک شده روی کنترل، کاملاً در اختیار برنامه نویس می باشد. (به عنوان مثال به تصویر زیر که امکان ثبت رویداد جدید را از کاربر گرفته است توجه کنید):

parmidasoft_19_2421180708

در زمان طراحی، پس از دراگ کردن کنترل مدیریت زمان (DevExpress Scheduler) بر روی فرم، با استفاده از منوی smart tag آن میتوانیم ابزار این کنترل را بدلخواه (Ribbon Bar و یا Menu Bar) انتخاب نمائیم که در هرصورت تک تک آبجکت های آن برای هرگونه تغییر دلخواه در دسترس برنامه نویس می باشد. (به تصویر زیر که نمای ابزار ریبون از این کنترل را نمایش میدهد توجه کنید).

parmidasoft_20_6768847294

و از جمله فیلترهای دیگر می توان به محدود کردن تعداد کاربران در استفاده از این کنترل پرداخت. به عنوان مثال فرض کنید چهار کاربر با نام های(A,B,C,D) در نرم افزار شما فعال هستند که نه تنها میخواهید هرکدام از کاربران فقط وفقط به یادداشتهای خود در این کنترل دسترسی داشته باشند بلکه می توانید امکان مشاهد ودسترسی به یادداشت های کاربران ({ For Example: User {A} and User {C) را بهم بدهید. (جهت روشن شدن بهتر مطلب به تصویر زیر توجه کنید):

parmidasoft_21_8754306593

یکی دیگر از امکانات بسیار کاربردی DevExpress Scheduler استفاده و بکارگیری Reminder (یادآوری کننده) از این کنترل می باشد که با امکانات قابل توجهی می توان از آن بهره برد. همانطوریکه از نامش پیداست این کنترل به شما اجازه میدهد تا یادداشت های مهمی که به دلایل مختلفی انجام آنها دز زمان مشخص، از ذهن شما خارج شده، بطور خودکار و توسط یک فرم هشدار دهنده به کاربر اخطار داده شود. این فرم راس ساعت و زمان(های) تعیین شده بطور اتوماتیک به نمایش درآمده و به کاربر اطلاع رسانی میکند. (تصاویر زیر یک نمونه از نحوه ایجاد رویداد هشدار دهنده و نمایش فرم Reminder را نمایش میدهند ).

(فرم های ثبت و تنظیم هشدار یادداشت ثبت شده)

parmidasoft_22_9770800680

( تصویر فعال شدن فرم هشدار در زمان مورد نظر و مطابق با الگوی تعیین شده)

parmidasoft_23_157123338

در کنترل DevExpress Scheduler تعیین محدوده نمایشی از روزهای خاص به دوشکل متفاوت برای استفاده کنندگان امکاندهی شده است:

۱) استفاده از Date navigator: با بکارگیری این کنترل کاربر قادر به انتخاب محدوده زمان (های) خاصی در تاریخ های مختلفی خواهد بود که کاربر به سه روش می تواند از این کنترل استفاده نماید:

  • توسط ماوس بر رو این کنترل چندین روز متوالی را دراگ کند.
  • در این کنترل بر روی تاریخ خاصی کلیک کرده تا انتخاب شود سپس کلید Shift را پائین نگهداشته و بر روی قسمتی دیگر از محدوده تاریخ این کنترل کلیک کنید تا دامنه ای از تاریخ های مورد نظر برای نمایش در Scheduler تعیین شود.
  • چنانچه قصد مشاهده تاریخ های خاصی از یادداشت های خود در Scheduler را دارید، کلید Ctrl را پائین نگه داشته و بر روی روزهای خاص در ماههای مورد نظر خود کلیک کنید.به عنوان مثال همانگونه که در تصویر زیر می بینید از ۱۳آبانماه ۱۳۹۴ تا ۱۹آبانماه ۱۳۹۴ انتخاب شده وسپس پرشی به تاریخ ۱۰آذرماه ۱۳۹۴ داشته ایم و به همین ترتیب کنترل Scheduler ما روزهای مورد نظر

را در دسترس کاربر قرار میدهد.

parmidasoft_24_2188335470

۲) استفاده از Range Control: این کنترل گرافیکی نیز در رابطه با انتخاب محدوده ای از تاریخ و روزهای متوالی برای تعیین وضعیت نمایشی Scheduler بسیار مفید و در جای خود کاربردی می باشد. به عنوان مثال در تصویر زیر از ۱۲ مردادماه ۱۳۸۹ تا تاریخ ۱۸مردادماه ۱۳۸۹ توسط این کنترل برای Scheduler درنظر گرفته شده است.

parmidasoft_25_2132355081

همانطوریکه در تصویر فوق مشاهده میکنید این مورد نیز در کلیه نماهای مورد نظر قابل دسترسی و مشاهده می باشد.

از دیگر ویژگی های مورد توجه این کنترل میتوان به (( امکان ایجاد فرم سفارشی مطابق باسلیقه برنامه نویس)) جهت ثبت یادداشت ها در Scheduler بجای فرم پیشفرض این کنترل نام برد که این امکان نیز در جای خود استفاده های کاربردی خوبی دارد.

parmidasoft_26_4987419345

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

parmidasoft_27_1750217275

دقت داشته باشید که در این مبحث ما تنها به معرفی عناوین برخی از امکانات مهم این کامپوننت پرداختیم و نه تنها این ابزارارزشمند جای گفته های بسیار دارد بلکه از بخش کدنویسی آن هیچ سخن به میان نیاوردیم و این بدان معنا نیست که دست و پای برنامه نویس در بخش Code Behind از این ابزار بسته است، بلکه با مراجعه به (^بلاگ) شرکت اصلی و یا راهنمای (^آنلاین) یا آفلاین از این مجموعه کامپوننت ها متوجه خواهید شد برخلاف توانایی های زیادی که مجموعه ابزار DevExpress دارد، استفاده از آنها بسیار ساده و روان است. ضمن اینکه راهنمای این مجموعه یکی از کاملترین راهنماهای کاربری و کاربُردی با مثال های بسیار متنوع همراه با تصاویر و Sampleهای مربوطه می باشد که برنامه نویسان را در استفاده از این ابزارهای حرفه ای در پروژه های کوچک و بزرگ خود بسیار یاری می رسانند.

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

منبع : نیک آموز

درباره نویسنده

سامان

فارغ التحصیل کارشناسی نرم افزار، علاقه مند به برنامه نویسی، طراحی وب، تکنولوژی های نوین، یادگیری و فیلم

مشاهده تمام مقالات