اگر با فرمساز پاورفرم در پلتفرم شیرپوینت کار کرده باشید حتما متوجه شدید چه امکاناتی با کدنویسی میتوانید به فرمتان اضافه نمایید. اگر میخواهید تمامی پرکاربرد ترین
.فرمول های پاورفرم را در یکجا داشته باشید این مقاله برای شما نوشته شده
فرمول های مربوط به دکمه:
1 2 3 |
form.SaveAndExit(); form.CancelRecord(); form.SaveRecord(); |
فرمول های مربوط به یوزرها:
1 2 3 4 5 6 7 |
form.CurrentUser(); form.LoginName(); form.UserFullName(); form.UserID(); |
فرمول درج خودکار شماره ردیف در گرید:
1 2 3 4 5 6 7 8 9 |
var items = form.GetControl("dg_Results").InputControl.GetAllItems(); = 0; for (var i=0; i < items. ; i++){ Row= Row + 1 ; items[i].SetValue('Row',Row); } |
نمایش و عدم نمایش section ها براساس یوزرهای گروه شیرپوینتی:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
if (form.UserInGroup("Group Name")) { form.ShowSection("Section Key"); } else { form.HideSection("Section Key "); } |
منتقل کردن کاربر به آدرس مورد نظر (ریدایرکت):
1 2 3 4 5 6 7 |
f = function(){ location.href = "https://parastoohozuri.ir/blog/" ; } form.Form.SaveRecord(f); alert(" سپاس از همراهی شما اطلاعات ثبت شد."); |
پنهان کردن ستون های گرید در یک مرحله خاص:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var vSteporder = form.DataItem.StepOrder; var ctrl =form.GetControl("firstGrid"); if(vSteporder == 0){ $(ctrl.InputControl.CTRL_GRID).data("kendoGrid").hideColumn("ProductStatus"); $(ctrl.InputControl.CTRL_GRID).data("kendoGrid").hideColumn("PrdComments"); $(ctrl.InputControl.CTRL_GRID).data("kendoGrid").hideColumn("Description"); } else{ $(ctrl.InputControl.CTRL_GRID).data("kendoGrid").showColumn("ProductStatus"); $(ctrl.InputControl.CTRL_GRID).data("kendoGrid").showColumn("PrdComments"); $(ctrl.InputControl.CTRL_GRID).data("kendoGrid").showColumn("Description"); |
نمایش و عدم نمایش تب ها در یک مرحله خاص:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
form.HideTab(0); form.HideTab(1); var step=form.DataItem.StepOrder; if (step == 1 || step == 2) { form.SelectTab(1); form.ShowTab(1); } else { form.SelectTab(0); form.ShowTab(0); } |
مقداردهی فیلدی از گرید براساس تغییر مقدار فیلدی دیگر در گرید:
1 2 3 |
if(fieldName == 'EngExpert'){ item.SetValue('StepOrder',2); } |
نمایش ارور به هنگام تکمیل نکردن فیلدیی در گرید هنگام ذخیره فرم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var grid = form.GetControl("InitialreviewGridProduction").InputControl.GetAllItems(); for (var i = 0; i < grid.length; i++){ if (grid[i].ProductStatus ==""){ var vkhali="Yeskhali"; break; } } if( vkhali =="Yeskhali"){ alert("لطفا تایید یا رد بودن هر آیتم را در ستون نظر تولید مشخص نمایید") } if( vkhali !="Yeskhali" ){ form.SaveAndExit(); } |
انتقال آیتمی از یک گرید به گریدی دیگر:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
var grid = form.GetControl("HistoryGrid").InputControl.GetAllItems() ; var SelectID = form.GetControl("HistoryGrid").InputControl.GetSelectedItem().ID for (var i=0; i < grid.length; i++) { gridID = grid[i].ID ; if (gridID == SelectID ){ Var_Title = grid[i].Title ; Var_Row = grid[i].Row ; Var_Brand= grid[i].Brand; Var_situation= grid[i].situation; Var_Count= grid[i].Count; Var_Conflicttime= grid[i].Conflicttime; Var_Department= grid[i].Department; Var_RespUnit= grid[i].RespUnit; } } var item = new Object(); item.Title = Var_Title ; item.Row = Var_Row; item.Brand = Var_Brand ; item.situation = Var_situation ; item.Count = VarVar_Department ; item.RespUnit = Var_RespUnit ; form.GetControl("firstGrid").InputControl.AddNewRow(item); |
گرفتن خروجی اکسل از گرید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
var grid = form.GetControl("c_Procurement").InputControl; var cols = []; cols.push({field:"Generalformnumber", title:"شماره درخواست"}); cols.push({field:"Row", title:"ردیف"}); cols.push({field:"Title", title:"کد کالا"}); cols.push({field:"DesProducts", title:"شرح کالا"}); cols.push({field:"Mark", title:"مارک"}); cols.push({field:"typee", title:"تیپ"}); cols.push({field:"Specifications", title:"مشخصات فنی"}); cols.push({field:"PieceCode", title:"کد قطعه"}); cols.push({field:"Desc", title:"توضیحات"}); cols.push({field:"MeasurementUnit", title:"واحد سنجش"}); cols.push({field:"RequestValue", title:"مقدار درخواست"}); cols.push({field:"PrjNumber", title:"سفارش"}); cols.push({field:"DateRequired", title:"تاریخ نیاز"}); cols.push({field:"Responsible", title:"مسئول"}); cols.push({field:"Finalreason", title:"توضیحات"}); grid.ExportToExcel(cols, "OrdersExport.xls", "SheetName"); |
غیرقابل ویرایش کردن ستون های یک گرید در یک مرحله خاص:
1 2 3 4 5 |
var vSteporder=form.DataItem.StepOrder; if(( e.FieldName == 'Title' || e.FieldName == 'Specifications'|| e.FieldName == 'PieceCode'|| e.FieldName == 'PrjNumber'|| e.FieldName == 'DateRequired'|| e.FieldName == 'RequestValue'|| e.FieldName == 'MeasurementUnit'|| e.FieldName == 'Desc') && ( vSteporder== 1 || vSteporder== 2 ) ){ e.Cancel=true;} |
انتقال چندین رکورد از یک گرید باکمک check box به گریدی دیگر:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
var grid = form.GetControl("c_Control13").InputControl.GetAllItems() ; for (var i=0; i < grid.length; i++) { var Tick=grid[i].Transfer; if (Tick == "1"){ Var_Average = grid[i].Averageconsumption ; Var_Desc = grid[i].Desc; Var_MeasurementUnit = grid[i].MeasurementUnit; Var_RequestValue = grid[i].RequestValue; Var_DateRequired = grid[i].DateRequired; Var_PrjNumber = grid[i].PrjNumber; Var_PieceCode = grid[i].PieceCode; Var_Specifications = grid[i].Specifications; Var_typee = grid[i].typee; Var_DesProducts = grid[i].DesProducts; Var_Mark = grid[i].Mark ; Var_Title = grid[i].Title ; var item = new Object(); item.Averageconsumption = Var_Average ; item.Desc = Var_Desc; item.MeasurementUnit = Var_MeasurementUnit ; item.RequestValue = Var_RequestValue ; item.DateRequired = Var_DateRequired ; item.PrjNumber= Var_PrjNumber ; item.PieceCode = Var_PieceCode ; item.Specifications = Var_Specifications ; item.typee = Var_typee ; item.DesProducts = Var_DesProducts; item.Mark = Var_Mark ; item.Title = Var_Title ; form.GetControl("c_Control5").InputControl.AddNewRow(item); } } |
قراردادن یک رکورد پیش فرض در گرید:
1 2 3 4 5 6 7 8 9 10 |
form = ALL_FORMS[0].Form.FormTemplate; if(form.IsNewRecord()){ for (var i = 0; i < 10; i++) { var item = new Object(); form.GetControl("c_Entry").InputControl.AddNewRow(item); } } |
حذف رکورد انتخاب شده در گرید:
1 |
form.GetControl("dg_Details").InputControl.DeleteSelectedItem() |
lookup زدن به چندین لیست برای نمایش اطلاعات در گرید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
if (fieldName == "RowNumber"){ function callback(e){ if (e.ErrorMessage) { alert(e.ErrorMessage); } else { if (e.ListItems.length > 0) { item.SetValue('ProductName' ,e.ListItems[0].PanelName); item.SetValue('Title' ,e.ListItems[0].Typep); item.SetValue('Numberdevices' ,e.ListItems[0].PanelQ); item.SetValue('Numberitem' ,e.ListItems[0].Cell); } else { // alert("no items found"); } } } } criteria = []; var ss = new pf.SearchSpec(); RowNumber = item.RowNumber; ss.FieldName = "FRow"; ss.FieldValue = RowNumber; ss.Operator = "Equals"; ss.Type = "Text"; var dd= new pf.SearchSpec(); dd.FieldName = "Title"; dd.FieldValue = form.GetControl("c_PrjNumberTxt").GetValue(); dd.Operator = "Equals"; dd.Type = "Text"; criteria.push(ss); criteria.push(dd); form.LoadRecords("http://portal……../", "پروژهها - اطلاعات", "", criteria, null, null, false, 0, callback); } |
تغییر رنگ:
1 |
form.GetControl('c_G1QScore').SetCellColor("#fc0328"); |
سه متد مقدارگیری از یک کنترل:
1 2 3 4 5 |
GetValue() GetValue_Name () Getvalue_Value() |
رنگی کردن پس زمینه یک ردیف از گرید براساس یک شرط خاس:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var grid1 = form.GetControl('c_FirstStep1').InputControl.GetAllItems(); for (var i = 0; i < grid1.length; i++) { var vPrioritization1 = grid1[i].Prioritization1; var vComplianceschedul1 = grid1[i].Complianceschedul1; var vNotusingnetwork1= grid1[i].Notusingnetwork1; var vDoingstructured1= grid1[i].Doingstructured1; var vOrderinout1= grid1[i].Orderinout1; var vAppearancebeauty1= grid1[i].Appearancebeauty1; if (vPrioritization1== "" || vComplianceschedul1 == "" || vNotusingnetwork1=="" || vDoingstructured1 =="" || vOrderinout1 == "" || vAppearancebeauty1 == "" || vPrioritization1== " " || vComplianceschedul1 == " " || vNotusingnetwork1==" " || vDoingstructured1 ==" " || vOrderinout1 == " " || vAppearancebeauty1 == " ") { var row = document.querySelector("#c_FirstStep1_Grid > div.k-grid-content > table > tbody > tr:nth-child(" + (i + 1) + ")"); row.style.backgroundColor = "#f53131"; EmptyCell="yes"; } } |
اطلاع رسانی بارگذاری شدن مدرک در یک داکیومنت گرید:
1 2 3 4 5 6 |
var grid = form.GetControl("c_Control12").InputControl; grid.DocumentUploaded.AddHandler(function (e3) { alert("بارگذاری گردید"); }); |
فرمول جهت نمایش درست چک باکس ها در گرید:
1 2 3 |
var myVar = setInterval(function(){ document.getElementsByClassName("k-edit-cell")[0].children[0].style.left=0; }, 50); |
فرمول جهت ایجاد دکمه در یک ستون گرید:
1 2 |
'<input type="button" class="k-button" onclick="OpenUrl()" value="ثبت"></input>' <script> function OpenUrl(){ form = ALL_FORMS[0].Form.FormTemplate; var SelectID = form.GetControl("dg_Order").InputControl.GetSelectedItem().ID var options = { title: "Planing", width: 1000, height: 600, url:_spPageContextInfo.webAbsoluteUrl + "/Lists/D_WorkOrderDetails/EditForm.aspx?ID=" + SelectID }; SP.UI.ModalDialog.showModalDialog(options); } </script> |
ضروری کردن فیلد در داکیومنت گرید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
var grid = form.GetControl("c_DocsGrid").InputControl; grid.DocumentUploading.AddHandler(function (e) { pf.UploadValues(e); }); pf.UploadValues = function(e) { if(form.GetControl("c_Description").GetValue() == "") { form.MessageForm('لطفا مشخصات سند را تکمیل نمایید.'); e.Cancel=true; } else { e.Cancel = false; e.Callback(e); } } grid.DocumentUploaded.AddHandler(function (e) { form.GetControl("c_Control21").SetValue("سند با موفقیت آپلود شد."); form.GetControl("c_Description").SetValue(""); }); |
خواندن دو پست دیگر در خصوص آموزش پاورفرم و کنترل های آن را به شما کاربران عزیز پیشنهاد می کنم.
خواهشمند است با نظرات خودتان کمک کنید این مقاله را پربارتر کنیم و تمامی فرمول های پرکاربرد پاورفرم را یکجا داشته باشیم.
4 پاسخ
خیلی مفید و کاربردی
خوشحالم که براتون مفید بوده
بسیار عالی
ممنون از اینکه دانشتون رو به اشتراک میزارید
آرمین عزیز خوشحالم که براتون مفید بوده