کنترل CheckBoxList


با استفاده از این کنترل می توان مجموعهای از چک باکس ها (Check Box) را به کاربر نشان داد تا بر اساس انتخاب کاربر اطلاعات مورد نظر در بانک اطلاعاتی ذخیره شود.

زی فریم

زی فریم

نحوه عملکرد
برای نمونه فرض شود که توسعه دهنده می خواهد در یک فرم مربوط به تعریف کاربر، لیست گروه های کاری نمایش داده شود تا بتوان برای کاربر مورد نظر مشخص نمود که به کدام یک از گروه های کاری دسترسی داشته باشد.
کنترل Checkbox list با کنترل کلیدی فرم در ارتباط است. به طور استاندارد اولین کنترل موجود در فرم کنترل کلید بوده که از جنس Hidden است. در فرم جاری یک کنترل کلید با نام SYS_USER_ID ساخته می شود.
نکته
SYS_USER_ID در Query های مربوط به این کنترل با شاخص KEY@ قابل دسترسی است.

در مرحله اول سامانه با استفاده از کوئری درج شده در خصوصیت Query DataSource کلیه مقادیری که باید نمایش دهد را واکشی می کند. در مرحله دوم مقادیری که انتخاب شده اند را واکشی کرده و تیک می زند. در مرحله سوم هنگام ذخیره اطلاعات، Query Delete بر اساس کلید فرم اجرا می شود. در مرحله چهارم مقادیری که کاربر درون فرم تیک زده‌ است در بانک اطلاعاتی ذخیره می گردد.

زی فریم

در واقع این کنترل نیاز به چهار Query دارد

DataSource Query
این Query، مقادیر اصلی که باید بارگذاری شوند را واکشی میکند (یعنی تمامی گزینه ها برای نمایش)
SELECT SYS_USERGROUP_ID,USERGROUPNAME
FROM BUSINESS_DESK_MD.DBO.SYS_USERGROUP

Fill Query
با این Query مقادیری که انتخاب شده اند، واکشی شده و checkbox مربوط به آن تیک می خورد.
SELECT SYS_USERGROUP_ID FROM BUSINESS_DESK_MD.DBO.SYS_USERGROUPLIST WHERE SYS_USER_ID =
در این قسمت زی فریم به صورت خودکار بعد از علامت مساوی مقدار کلید را جایگزین کرده و نیازی نیست توسعه دهنده چیزی بعد از مساوی درج نماید.

Update Query
با این Query اطلاعات مربوط به موارد انتخاب شده در سیستم ذخیره می شود.
INSERT INTO BUSINESS_DESK_MD.DBO.SYS_USERGROUPLIST
(SYS_USER_ID , SYS_USERGROUP_ID)
VALUES
( @KEY , @ID )
با اجرای کد فوق، سیستم فقط اطلاعاتی که تیک خورده را انتخاب کرده و در جدول ثبت می نماید.

Delete Query
با این Query تمامی موارد مربوط به کلید جاری حذف می شود.
DELETE FROM BUSINESS_DESK_MD.DBO.SYS_USERGROUPLIST
WHERE SYS_USER_ID =

  
×