کنترل های مرتبط (Related Control) در زی فریم به کنترل هایی گفته می شود که وابسته به یک کنترل دیگر عمل می کنند.
فرض کنید می خواهیم با استفاده از زی فریم یک سیستم فروشگاهی بسازیم که اگر کاربر نام فروشگاه را انتخاب کرده باشد، فقط کالا های موجود آن فروشگاه به کاربر نمایش داده شود.
در اینجا دو نمونه از نمایش کنترل های مرتبط (Related Control)را به شما نمایش داده ایم:
در این مثال نام فروشگاه یک کنترل از نوع کمبو (combo data) است که اگر نام فروشگاه را ال جی انتخاب کنید، در قسمت نام کالا فقط کالا های مربوط به فروشگاه ال جی نمایش داده میشود.
در ابتدا یک دیتابیس بسازید.(نام این دیتابیس را Store و یا هر نام دلخواه دیگری که میخواهید قرار دهید.)
(برای یادگیری نحوه ی ساخت دیتابیس در MSSQL به آموزش ساخت دیتابیس در MSSQL مراجعه کنید.)
در دیتابیس جدول های مورد نیاز خود را بسازید.
(برای یادگیری نحوه ی ساخت جدول در MSSQL به آموزش ساخت جدول در MSSQL مراجعه کنید.)
در این مثال به 3 جدول برای ذخیره نام فروشگاه ها، ذخیره کالاها و ذخیره سفارشات نیاز داریم. بنابراین سه جدول با نامهای store ، item و request (و یا هر نام دلخواه دیگری)به شکل زیر تعریف می کنیم.
وارد نرم افزار زی فریم شوید.
یک اپلیکیشن جدید با دیتابیسی که ساخته اید تعریف کنید.
(برای یادگیری نحوه ی ساخت اپلیکیشن در زی فریم به آموزش ساخت اپلیکیشن در زی فریم مراجعه کنید.)
بر اساس هر یک از جدول هایی که ساخته شده است یک فرم بسازید.
(برای یادگیری نحوه ی ساخت فرم بر اساس جدول در زی فریم به آموزش ساخت فرم بر اساس جدول در زی فریم مراجعه کنید.)
فرم های خود را در پنجره Forms می توانید مشاهده کنید.
همان طور که مشاهده می کنید سه فرم frmitem ، frmstore و frmrequest توسط زی فریم ایجاد شد.
اکنون نوبت به سفارشی سازی فرم هایی که ساخته اید رسیده است.
سفارشی سازی کنترل store_name :
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (نام فروشگاه) قرار داده ایم.
در نهایت فرم frmstore ما به این شکل است.
سفارشی سازی کنترل store_id :
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (نام فروشگاه) قرار داده ایم.
برای آنکه برای انتخاب نام فروشگاه لیستی از نام فروشگاه های تعریف شده داشته باشید، مقدار Control type این کنترل را برابر با data combo قرار دهید.
سپس در قسمت Data Sourse از جدول store ، فیلدهای Store_id و سپس store_name را اضافه کنید.
سفارشی سازی کنترل item_name :
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (نام کالا) قرار داده ایم.
سفارشی سازی کنترل item_price :
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (قیمت کالا) قرار داده ایم.
در نهایت فرم frmitemما به این شکل است.
سفارشی سازی کنترل store_id :
در این کنترل همانند کنترل store_id در فرم frmitem عمل می کنیم.
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (نام فروشگاه) قرار داده ایم.
برای آنکه همانند فرم frmitem برای انتخاب نام فروشگاه لیستی از نام فروشگاه های تعریف شده داشته باشید، مقدار Control type این کنترل را برابر با data combo قرار دهید.
و از قسمت Data Sourse از جدول store ، فیلدهای Store_id و سپس store_name را اضافه کنید.
فرض کنید میخواهیم کنترل item_id را به یک related control تغییر دهیم. حال بدین منظور مراحل زیر را انجام دهید:
سفارشی سازی کنترل item_id :
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (نام کالا) قرار داده ایم.
برای آنکه آیتم های پیشنهادی با توجه به نام فروشگاه نمایش داده شوند،Control type این کنترل را برابر با FindObjectBox قرار دهید.
در قسمت Data Sourse از جدول item ، فیلدهای item_id و سپس item_name را اضافه می کنیم.
در قسمت related condition query از جدول item ، فیلدهای item_id و سپس item_name را اضافه کرده و سپس کد زیر را در ادامه ی قسمت query اضافه کنید.
در این مثال
dbo.item.item_name همان فیلدی است که می خواهیم به ما نمایش داده شود.
store_id نام کنترل combo data در فرم frmitem است.
در @lngstore_id ، نیز store_id نام کنترل مرتبط در همین فرم است .
در قسمت related control نام کنترل مرتبط یعنی store_id را وارد کنید.
در قسمت related form یک فرم جدید توسط دکمه (New Form By Design) بسازید. ما در این مثال فرمی به نام frmview item ساخته ایم.
برای یادگیری نحوه ی ساخت فرم بدون جدول در زی فریم به آموزش ساخت فرم بدون جدول در زی فریم مراجعه کنید.
در قسمت Form Data Source فرم، تمام فیلد های جدول item را اضافه می کنیم.
در قسمت Grid Data Source فرم از جدول item، فیلدهای item_id و item_name را اضافه کنید و پس از آن کد زیر را در ادامه قسمت query قرار دهید.
WHERE store_id = @lngZPPA1
سفارشی سازی کنترل Count :
Caption این کنترل را تغییر دهید، در این مثال مقدار آن را برابر با (تعداد) قرار داده ایم.
در نهایت فرم ما به این شکل خواهد بود.
در قسمت Workflow Management فرم های خود را وارد کنید.
برای نمایش یک خروجی در سایت، فرم های خود را با داده های دلخواه پر کنید.
لیست کالا های ما به شکل زیر است.
حال اگر وارد فرم request شوید و فروشگاه را ال جی انتخاب کنید زمانی که تلویزیون را در قسمت نام کالا بنویسید، لیست تلویزیون های فروشگاه ال جی را به شما نمایش می دهد.
ولی اگر اسنک را در این قسمت بنویسید به دلیل آنکه در فروشگاه ال جی کالایی با نام اسنک وجود ندارد، هیچ اسمی به کاربر نمایش نمی دهد.
اما اکنون اگر نام فروشگاه رو به چیتوز تغییر دهید، تمام اسنک های این فروشگاه نمایش داده می شوند.
تمامی مراحل یاد شده را می توان به طور خلاصه در تصویر زیر مشاهده نمود.
گروه توسعه زیر ساخت نرم افزاری زی با نام تجاری Zframe، با بهره گیری از نیروهای متخصص و مجرب با رویکردی نوآورانه از سال 1387 فعالیت خود را آغاز و اقدام به تولید نرم افزار قدرتمند زی فریم نمود.
زی فریم به عنوان یک محصول نرم افزاری (DSL) در واقع همچون یک خط تولید نرم افزار است که با استفاده از آن می توان به سرعت، بدون نیاز به تسلط به دامنه وسیعی از تکنولوژی ها، یک نرم افزار مبتنی بر وب کارا، امن و یکپارچه تولید نمود.