معرفی اسکریپت های پرکاربرد در پاورفرم
یکی از امکاناتی که پاورفرم در طراحی فرم در اختیار کاربران قرار میدهد، امکان اسکریپت نویسی(javascript) است. اسکریپت نویسی در پاورفرم به این معناست که ما میتوانیم برخی از عملیات موردنظر خود مثل مقدار دادن به یک کنترل، محاسبه عددی، رفتن به یک تب خاص و…را با نوشتن اسکریپت هاو کدهای مربوطه در بخش مخصوص به خود انجام دهیم.
در این بخش آموزشی شرکت گرین لاین به معرفی اسکریپت های پرکاربرد در پاورفرم (BPC PowerForm)؛ میپردازد.
اسکریپت ذخیره و خروج:
در ابتدا به معرفی دکمه ذخیره میپردازیم. برای استفاده از دکمه ذخیره کافیست با قرار دادن یک کنترل از نوع button در دیزاین فرم، اسکریپت های زیر را در قسمت Extra در Action از نوع Script قرار دهید:
;()form.SaveRecord
یک نمونه ی دیگر که به عنوان دکمه ذخیره وخروج استفاده میشود، اسکریپت زیر است. کافیست مانند نمونه بالا اسکریپت را در قسمت Extra در Actionاز نوع Script قرار دهید.
;()form.SaveAndExit
در اینجا بعد از ذخیره اطلاعات، کاربر از فرم خارج می شود.
همچنین شما میتوانید برای استفاده از دکمه ی انصراف از اسکریپت زیر استفاده نمایید.
;()form.CancelRecord
اسکریپت نام کاربری:
از جمله دیگر اسکریپت های پرکاربرد در پاور فرم برای محاسبه نام و نام خانوادگی شخصی که وارد فرم می شود، مورد استفاده قرار میگیرد. در تب دوم کنترل قسمت calculated formula اسکریپت زیر را قرار میدهیم.
;()var name = form.UserFullName
میتوانیم با استفاده از اسکریپت مقداردهی به کنترل ها، متغیر تعریف شده را داخل کنترلهای فرم خود قرار دهیم.
برای محاسبه نام کاربر login در فرم مشابه نمونه ی بالا، اسکریپت را در قسمت calculated formula قرار میدهیم.
;()var name = form.LoginName
برای نمایش یوزر فعلی در داخل فرم از اسکریپت زیر استفاده نمایید.
;()var user = form.CurrentUser
زمانی که نام کاربر، در گروه شیرپوینتی وجود دارد، برای استفاده از یوزر کاربری که در گروه خاصی قرار داد در داخل فرم از نمونه اسکریپت های زیر برای فراخوانی id گروه و یا نام گروه استفاده میکنیم. توجه داشته باشید که اسکریپتهای زیر، مقدار صحیح و یا غلط (true/false) را بر میگرداند و میتوان آنها را به صورت مستقیم در if مورد استفاده قرار داد.
(“نام گروه”)form.UserInGroup
form.UserInGroup(“2”)
عکس یوزر.png
مثال استفاده:
برای مشاهده کاربرد اسکریپت بالا به مثال زیر توجه کنید:
در پاورفرم به کمک کد زیر این قابلیت فراهم است که بتوان موجود بودن یک یوزر در گروه خاصی را بررسی کرد. این کار برای دسترسی به قسمت های مختلف فرم کاربرد دارد.
}((“نام گروه”)form.UserInGroup)if
;form.ShowSection(“Section Key”)
}else{
form.HideSection(“Section Key “);
{
اسکریپت های مرتبط با گرید در پاورفرم
در ادامه به معرفی اسکریپت های پرکاربرد در پاور فرم میپردازیم:
- نمایش شماره ردیف در گرید:
نمایش شماره ردیف به صورت خودکار در گرید:
; var index = 0
;()InputControl.GetAllItems.(“کنترل گرید”)var gridItems =form.GetControl
}for (var i=0; i < gridItems.length; i++)
;index += 1
;itemEach = gridItems[i]
;itemEach.SetValue(‘Row’ , index)
{
اسکریپت بالا را در قسمت scripts در کنترل Data entry grid قرار دهیدو یک ستون با نام Row در داخل گرید بسازید.
- نمایش یک ردیف select شده از یک گرید در گرید دیگر:
از دیگر اسکریپت های پرکاربرد در پاورفرم میتوان به نمایش یک ردیف select شده از یک گرید در گرید دیگر اشاره نمود.
;()var gridpack = form.GetControl("c_ Grid1").InputControl.GetAllItems
;()var item = form.GetControl("c_Grid1").InputControl.GetSelectedItem
;eachgridmenu = gridpack[i]
;var gridchapter=item.Sub
;var griddateSend=item.Des
;var gridrow=item.Row
;item.Sub = gridchapter ;item.Des = griddateSend
;item.Row = gridrow
;form.GetControl("c_ Grid2").InputControl.AddNewRow(item)
- محاسبه تعداد ردیف های یک گرید:
برای محاسبه تعداد ردیف های یک گرید از اسکریپت زیر ستفاده میشود.
;()var gridItems =form.GetControl("c_Grid").InputControl.GetAllItems
;var length = gridItems.length
;SetValue(length).("نام کنترلی که میخواهیم تعداد نمایش داده شود")form.GetControl