دیتا انتری گرید در پاورفرم
پیش تر به مبحث دیتاگرید در پاورفرم و موارد استفاده از آن در مطلب جداگانه ای پرداخته ایم. اگر هنوز این مقاله را مطالعه نکرده اید، به شما پیشنهاد می کنیم که ابتدا این مطلب را مطالعه نمایید. تا با کاربرد گریدها در پاورفرم و نحوه استفاده از آنها آشنا شوید.
لینک محتوای غیرفعال کردن دکمه جدید در دیتاگرید/ دسته بندی دیتاگرید در پاورفرم
همانطور که در مقاله عنوان شده هم به آن اشاره شد. گرید ها شامل ردیف های اطلاعاتی هستند که این اطلاعات در ستون های مختلف ثبت و ذخیره میشوند.
اضافه کردن ردیف به دیتا انتری گرید
کنترل دیتا انتری گرید در PowerForms دارای دکمه ای جهت افزودن ردیف میباشد که در تنظیمات کنترل و در بخش extra قابلیت تنظیم کردن دارد. تیم گرین لاین هم پیش از این مقاله ای در این رابطه منتشر کرده است که در ابتدای مبحث به آن اشاره شد.
اما اگر به هر دلیلی ما قصد اضافه کردن ردیف به دیتا انتری گرید را داشته باشیم و نخواهیم مستقیما از داخل جدول این عملیات را انجام دهیم، امکان آن را داریم که از طریق اسکریپت نویسی و یک کنترل از جنس button، image check box و یا هر کنترل دیگری این عملیات را انجام دهیم.
کاربرد استفاده از اسکریپت جهت اضافه کردن ردیف به دیتا انتری گرید
اگر اطلاعات موردنیاز ما برای ثبت در جدول و دیتا انتری گرید در بخش های دیگر فرم (آیتم ها و کنترل های موجود) باشد، برای اضافه کردن ردیف به دیتا انتری گرید از اسکریپت به وسیله یک دکمه (button) یا image check box استفاده میکنیم. همچنین ما میتوانیم از طریق نوشتن اسکریپت به ستونهای پنهان و یا هاید گرید هم مقدار بدهیم. در مواقعی که تعداد ستونهای دیتاگرید زیاد هستند و میخواهیم بعضی اطلاعات کم کاربرد تر را نمایش ندهیم، استفاده از دکمه برای مقدار دادن به آنها بسیار کاربردی خواهد بود.
نمونه های استفاده از اسکریپت جهت افزودن ردیف به جدول
برای مثال ما اطلاعات مربوط به مشتری را در یکی از سکشن های فرم خود داریم و اکنون میخواهیم اطلاعات تماس های ثبت شده را از طریق جدول ثبت کنیم.به دلیل کاربری ساده تر، کنترل های مربوط به اطلاعات تماس را داخل سکشن جداگانه ای قرار داده و پس از ثبت اطلاعات در این کنترل ها با زدن روی دکمه افزودن اطلاعات، آنها را داخل جدول ریخته و ثبت مینماییم.با این کار هم کاربر را درگیر ثبت اطلاعات به صورت مستقیم در جدول نمیکنیم و هم استفاده کاربری فرم خود را ساده میکنیم.
کد اسکریپت اضافه کردن ردیف به دیتا انتری گرید
کد مربوط به اضافه کردن ردیف به دیتا انتری گرید به صورت زیر میباشد که یا در قسمت اکشن کنترل button، و یا در قسمت script کنترل Image check box و یا هر کنترل دیگر با توجه به طراحی فرم مربوطه، قرار دهید.
(به این نکته توجه داشته باشید که استفاده از image check box در این قسمت جایگزین استفاده از آیکون در فرم میباشد. که شما میتوانید با قرار دادن لینک عکس در قسمت yes و no و قرار دادن اسکریپت مربوطه در قسمت script از عکس مربوطه به جای آیکون استفاده نمایید.)
کد اسکریپت:
;()var c1 = form.GetControl("c_Control1").GetValue
;()var c2 = form.GetControl("c_Control2").GetValue
;()var c3 = form.GetControl("c_Control3").GetValue
;()var item = new Object
;item.Column1 = c1
;item.Column2 = c2
;item.Column3 = c3
;form.GetControl("c_Grid").InputControl.AddNewRow(item)
توجه داشته باشید که در کد بالا مقادیر c_Control نام کنترل های فرم هستند که اطلاعات موردنیاز گرید داخل آنها میباشد. مقادیر Column ستون های دیتا انتری گرید ما میباشند و همینطور c_Grid نام کنترل دیتا انتری گرید ما میباشد. شما میتوانید با جایگزین کردن این مقادیر، همانگونه که شرکت گرین لاین در طراحی های خود از این اسکریپت استفاده میکند، استفاده نمایید.