ویژگی‌های کلیدی پاورفرم در شیرپوینت

PowerForms

PowerForms در شیرپوینت ابزاری قدرتمند برای ایجاد فرم‌های سفارشی است که به سازمان‌ها کمک می‌کند تا فرآیندهای جمع‌آوری داده‌ها را بهبود بخشند و کارایی را افزایش دهند. با قابلیت‌های سفارشی‌سازی و ادغام با سایر امکانات شیرپوینت، این ابزار می‌تواند به تسهیل و بهینه‌سازی فرآیندهای تجاری کمک کند.
تصویر عالی تصویر عالی

ایجاد فرم‌های سفارشی

کاربران می‌توانند فرم‌های متنوعی با فیلدهای مختلف ایجاد کنند. این فرم‌ها می‌توانند برای نیازهای سازمان یا پروژه طراحی شوند.

جزئیات بیشتر
تصویر عالی تصویر عالی

رابط کاربری کاربرپسند

PowerForms دارای یک رابط کاربری ساده و قابل فهم است که به کاربران این امکان را می‌دهد بدون نیاز به دانش برنامه‌نویسی، فرم‌های خود را طراحی کنند.

جزئیات بیشتر
تصویر عالی تصویر عالی

ادغام با لیست‌ها و کتابخانه‌ها

فرم‌ها می‌توانند به راحتی با لیست‌ها و کتابخانه‌های شیرپوینت ادغام شوند تا داده‌ها به طور مستقیم ذخیره و مدیریت شوند.

جزئیات بیشتر

قابلیت اتوماسیون فرآیندها

با استفاده از PowerForms، می‌توان فرآیندهای تجاری را اتوماسیون کرد. به عنوان مثال، می‌توان پس از ارسال فرم، یک جریان کاری تعریف کرد.

گزارش‌گیری و تجزیه و تحلیل

داده‌های جمع‌آوری شده از طریق فرم‌ها می‌توانند برای تولید گزارش‌های مختلف و تجزیه و تحلیل استفاده شوند.

کنترل دسترسی و امنیت

کاربران می‌توانند دسترسی به فرم‌ها را کنترل کنند و تعیین کنند که کدام افراد یا گروه‌ها اجازه مشاهده یا ویرایش فرم‌ها را دارند.

تصویر عالی

چرا باید از پاورفرم استفاده کنیم ؟

شیرپوینت شما چگونه می تواند ازاز این ابزار پر کاربرد بهره مند شود؟

رقابت‌پذیری

در دنیای پررقابت امروز، سازمان‌هایی که قادر به تطبیق سریع با تغییرات هستند، می‌توانند از رقبای خود پیشی بگیرند.

بهبود تجربه مشتری

با تمرکز بر نیازهای مشتریان و پاسخ سریع به آن‌ها، سازمان‌ها می‌توانند تجربه بهتری برای مشتریان خود فراهم کنند.

کاهش هزینه‌ها

بیزاجی می‌تواند به کاهش هزینه‌های عملیاتی منجر شود، زیرا سازمان‌ها می‌توانند فرآیندهای خود را بهینه‌سازی کرده و از منابع موجود به بهترین شکل استفاده کنند.

نوآوری مداوم

سازمان‌های چابک می‌توانند به راحتی ایده‌های جدید را آزمایش کنند و از موفقیت‌ها و شکست‌های خود بیاموزند.

اسکریپت های مربوط به یوزر پاورفرم

 
نام و نام خانوادگی شخصی که وارد فرم می شود ( در قسمت  calculated formula) 
form.UserFullName() 
form.LoginName() 
Current user بصورت یوزری 
form.UserID()+";#"+form.UserFullName() 
نحوه ی نمایش به یک تب به گروهی از افراد 
if (form.UserInGroup("104")) 

   form.ShowTab(1);    

else if (form.UserInGroup("104")) 

   form.HideTab(1); 
گرفتن نام گروهی که یوزر فعلی در آن عضو می باشد .
var user = form.CurrentUser();
var userId = user.ID;
for (var i=0;i<user.Groups.length;i++) {
  var group = user.Groups[i];
  var groupName = group.Name;
}
گرفتن نام یوزر ایجاد کننده
created = dataitem.GetValue("Created")
تکمیل کنترلی از نوع PeoplePicker با نام کاربر جاری
= form.UserID() +";#" + form.GetControl("c_FullName").GetValue();

اسکریپت های مربوط به تاریخ پاورفرم

 
اضافه و کم کردن روز از کنترل تاریخ 
var theNewDateValue= pf.AddDaysToDate(new Date(), 2); 
alert(theNewDateValue); 
اگر تاریخ بصورت string باشد : 
var theDateValue = form.GetControl('c_Date').GetValue(); 
var theNewDateValue = pf.AddDaysToDateString(theDateValue, 2); 
alert(theNewDateValue ); 
بررسی بزرگتر بودن تاریخ از تاریخ روز
var dateInStringFormat = form.GetControl("c_WorkRentDate").GetValue(); 
var DateObject = pf.ParseDate(dateInStringFormat); 
var date = DateObject.getTime(); 
var dateInStringFormat2 = form.GetControl("c_Now").GetValue(); 
var DateObject2 = pf.ParseDate(dateInStringFormat2); 
var date2 = DateObject2.getTime(); 

if(date<=date2){ 
   alert("تاریخ اعتبار اجاره نامه نبایداز تاریخ روز کوچکتر باشد!"); 
   form.GetControl("c_WorkRentDate").SetValue(""); 
}
اسکریپت نمایش دادن فقط ساعت در کنترل Date & Time 
var c =form.GetControl("c_datetime").InputControl; 
  
$(c.CTRL_DATE).parent().parent().css("display","none"); 
form.GetControl("c_ExpertCreater").SetValue("2"); 
$(".k-input").attr("autocomplete","false"); 
$(".k-input").attr("autocomplete","none"); 
  
  
var header = document.getElementById("myHeader"); 
var sticky = header.offsetTop; 
  
function myFunction() { 
  if (window.pageYOffset > sticky) { 
    header.classList.add("sticky"); 
  } else { 
    header.classList.remove("sticky"); 
حساب کردن تعداد روز از انتخاب بین دو تاریخ 
From = form.GetControl("c_StartDate").GetValue(); 
To = form.GetControl("c_FinishDate").GetValue(); 
var startDate = new Date(From) ; 
var endDate = new Date(To); 
var diffDays = endDate.getTime() - startDate.getTime();  
const oneDay = 1000 * 60 * 60 * 24;
const diffInDays = Math.round(diffDays / oneDay); 
form.GetControl("c_MissionTime1").SetValue(diffInDays); 
form.GetControl("c_PrintBtn").SetVisible(false); 
اسکریپت تاریخ شمسی در includes 
<script> 
function div(a, b) { 
return parseInt((a / b)); 
}function gregorian_to_jalali(g_y, g_m, g_d) { 
var g_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; 
var j_days_in_month = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]; 
var jalali = []; 
var gy = g_y - 1600; 
var gm = g_m - 1; 
var gd = g_d - 1; 
var g_day_no = 365 * gy + div(gy + 3, 4) - div(gy + 99, 100) + div(gy + 399, 400); 
  
for (var i = 0; i < gm; ++i) 
g_day_no += g_days_in_month[i]; 
if (gm > 1 && ((gy % 4 == 0 && gy % 100 != 0) || (gy % 400 == 0))) 
/* leap and after Feb */ 
g_day_no++; 
g_day_no += gd; 
  
var j_day_no = g_day_no - 79; 
  
var j_np = div(j_day_no, 12053); 
/* 12053 = 365*33 + 32/4 */ 
j_day_no = j_day_no % 12053; 
  
var jy = 979 + 33 * j_np + 4 * div(j_day_no, 1461); 
/* 1461 = 365*4 + 4/4 */ 
  
j_day_no %= 1461; 
  
if (j_day_no >= 366) { 
jy += div(j_day_no - 1, 365); 
j_day_no = (j_day_no - 1) % 365; 

for (var i = 0; i < 11 && j_day_no >= j_days_in_month[i]; ++i) 
j_day_no -= j_days_in_month[i]; 
var jm = i + 1; 
var jd = j_day_no + 1; 
jalali[0] = jy; 
jalali[1] = jm; 
jalali[2] = jd; 
return jalali; 
//return jalali[0] + "_" + jalali[1] + "_" + jalali[2]; 
//return jy + "/" + jm + "/" + jd; 

function get_year_month_day(date) { 
var convertDate; 
var y = date.substr(0, 4); 
var m = date.substr(5, 2); 
var d = date.substr(8, 2); 
convertDate = gregorian_to_jalali(y, m, d); 
return convertDate; 

function get_hour_minute_second(time) { 
var convertTime = []; 
convertTime[0] = time.substr(0, 2); 
convertTime[1] = time.substr(3, 2); 
convertTime[2] = time.substr(6, 2); 
return convertTime; 

function convertDate(date) { 
var convertDateTime = get_year_month_day(date.substr(0, 10)); 
convertDateTime = convertDateTime[0] + "/" + convertDateTime[1] + "/" + convertDateTime[2] + " " + date.substr(10); 
return convertDateTime; 

function get_persian_month(month) { 
switch (month) { 
case 1: 
return "فروردین"; 
break; 
case 2: 
return "اردیبهشت"; 
break; 
case 3: 
return "خرداد"; 
break; 
case 4: 
return "تیر"; 
break; 
case 5: 
return "مرداد"; 
break; 
case 6: 
return "شهریور"; 
break; 
case 7: 
return "مهر"; 
break; 
case 8: 
return "آبان"; 
break; 
case 9: 
return "آذر"; 
break; 
case 10: 
return "دی"; 
break; 
case 11: 
return "بهمن"; 
break; 
case 12: 
return "اسفند"; 
break; 


function get_day(day) { 
  
switch (day) { 
case 1: 
return "01"; 
break; 
case 2: 
return "02"; 
break; 
case 3: 
return "03"; 
break; 
case 4: 
return "04"; 
break; 
case 5: 
return "05"; 
break; 
case 6: 
return "06"; 
break; 
case 7: 
return "07"; 
break; 
case 8: 
return "08"; 
break; 
case 9: 
return "09"; 
break; 
default:day 


</script> 

*/ اسکریپت برای تاریخ شمسی روی کنترل تاریخ  

var dt=form.GetControl("c_ChildBirthDate11").GetValue(); 
arry = dt.split("-"); 
g_y = parseFloat(arry[0]); 
g_m = parseFloat(arry[1]); 
g_d = parseFloat(arry[2]); 
shdt = gregorian_to_jalali(g_y ,g_m ,g_d) 
Mdt = get_persian_month(shdt[1]); 
day=get_day(shdt[2]); 
form.GetControl("day1").SetValue(shdt[2]); 
form.GetControl("month1").SetValue(Mdt); 
form.GetControl("year1").SetValue(shdt[0]);
اسکریپت برای نمایش تاریخ امروز 
var date = pf.FormatANSIDate(new Date()); 
form.GetControl("c_Date").SetValue(date); 

اسکریپت های گرید Grid پاورفرم

 
مقدار دهی به آیتم های گرید
var items = form.GetControl("c_GridName").InputControl.GetAllItems();
for (var i=0; i < items.length; i++)
{
 form.GetControl("c_Param1").SetValue(items[i].Param1); 
 form.GetControl("c_Param2").SetValue(items[i].Param2);
}
انتخاب همان ردیف انتخاب شده در گرید و انتخاب ستون مورد نظر
var item = form.GetControl("c_GridName").InputControl.GetSelectedItem(); 

form.GetControl("c_Label").SetValue(item.Title); 
مخفی کردن و نمایان شدن یک ستون از گرید 
Grid = form.GetControl("c_Grid"); 

$(Grid.InputControl.CTRL_GRID).data("kendoGrid").hideColumn("FollowNumber");مخفی شدن  

$(Grid.InputControl.CTRL_GRID).data("kendoGrid").showColumn("DateFollow");نمایان شدن 
حذف ردیف iام از گرید
var grid = $("#grid").data("kendoGrid"); 
grid.removeRow("tr:eq(i)"); 
حذف تمامی ردیف های یک گرید
var gridItems =form.GetControl("c_HamyarServices").InputControl.GetAllItems();  
a = Number(gridItems.length);  
for (var i=0; i < a; i++)  
  {  
ctrl = form.GetControl("c_HamyarServices");  
$(ctrl.InputControl.CTRL_GRID).data("kendoGrid").removeRow("#c_HamyarServices_Grid tbody tr")  
}
درج ردیف برای گرید
var index = 0 ;  
  var gridItems =form.GetControl("c_Grid").InputControl.GetAllItems();  
for (var i=0; i < gridItems.length; i++) {  
   index += 1 ;  
   itemEach = gridItems[i] ;  
   itemEach.SetValue('Row' , index);  
}  
ایجاد ردیف انتخاب شده ی یک گرید در یک گرید دیگر
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 a = form.GetControl("c_Control1").GetValue(); 
var b= form.GetControl("c_Control2").GetValue(); 
var c= form.GetControl("c_Control3").GetValue(); 
var d= form.GetControl("c_Control4").GetValue(); 

var item = new Object(); 
item.Title = a; 
item.OrderStatus = b; 
item.MaterialStatus = c; 
item.RealizationTerms = d; 
form.GetControl("c_Grid").InputControl.AddNewRow(item); 
جمع کردن آیتم های گرید
var sum = 0 ;  
var items = form.GetControl("c_Grid").InputControl.GetAllItems();  
for (var i=0; i < items.length; i++) {  
eachItem = items[i];  
var a =  eachItem.PaymentPrice == "" ? 0 : parseFloat (eachItem.PaymentPrice) ;  
sum += a;  
}  
form.GetControl("c_SumControl").SetValue(sum.toString());  
جمع کردن ستون های یک آیتم در گرید و افزودن در ستون دیگر 
sum = 0; 
  var gridItems = form.GetControl("c_Grid").InputControl.GetAllItems(); 
  for (var i=0; i <gridItems.length ; i++)  
    {   
     itemEach = gridItems[i] ;  
     sum = Number(itemEach.Column1) + Number(itemEach.Column2); 
     itemEach.SetValue('Column3' , sum);  
ضرب یک ستون گرید در کنترلی مستر و قرار دادن نتیجه آن در یک ستون دیگر همان ردیف گرید
sum = 0; 
sum2 = 0; 
var a = form.GetControl("c_Control1").GetValue();  
var gridItems = form.GetControl("c_Grid").InputControl.GetAllItems(); 
    for (var i=0; i <gridItems.length ; i++)  
    {   
   itemEach = gridItems[i] ;  
   sum = Number(itemEach.Culomn1) * Number(a); 
   itemEach.SetValue('Culomn2' , sum);  
غیرفعال کردن یک ستون از دیتاگرید تحت شرایط خاصی
if(e.FieldName=="Title" && e.DataItem.number=="7"){ 
e.Cancel=true;} 
غیرفعال کردن یک ستون از دیتاگرید تحت شرایط خاصی
if(e.FieldName=="Title" && e.DataItem.number=="7"){ 
e.Cancel=true;} 
پر کردن اتوماتیک ستون های دیتاگرید طبق انتخاب یک ستون از آن
var items = form.GetControl("c_grid").InputControl.GetAllItems();   
//title ستون گرید فعلی  
if (fieldName == "Title") {   
function callback(e){     
  if (e.ErrorMessage){   
  alert("ارور");   
  }   
else{   
if (e.ListItems.length > 0){   
     //  alert("items found");     
     //اولی مقدار ستون لیستی که میخواهیم دیتا بخونیم. دومی ستون گرید فعلی  
var a=e.ListItems[0].Post;   
item.SetValue("Position", a);     
var b=e.ListItems[0].User;   
item.SetValue("UserAccount", b);   
   }else{   
       alert("no items found");   
    }   
  }   
}   
criteria = [];   
var ss = new pf.SearchSpec();   
//ID ستون لیستی که میخوایم ازش بخونیم  
ss.FieldName = "ID";     
//ستون گرید فعلی Title  
ss.FieldValue = pf.GetValueFromLookup(item.Title);    
ss.Operator = "Equals";  //Equals,NotEquals,Greater,GreaterOrEqual,Less,LessOrEqual,IsNull,IsNotNull,BeginsWith,Contains,In
ss.Type = "Text";   
criteria.push(ss);   
form.LoadRecords("http://url", "اطلاعات فرزند", "", criteria, null, null, false, 0, callback);   
}
شمردن تعداد ردیف ها در گرید
var gridItems =form.GetControl("c_Grid").InputControl.GetAllItems(); 
form.GetControl("c_Count").SetValue(gridItems.length);
فانکشن استفاده از یک دکمه برای انتخاب کردن ردیف دیتا انتری گرید
<script> 
form = ALL_FORMS[0].Form.FormTemplate; 
function RenderButton() { 
debugger 
        var htmlButton = '<input type="button" '; 
        htmlButton += ' class="k-button sg-button" onclick="OpenUrl()" value="مشاهده"></input>' 
        return htmlButton; 
    }  
function OpenUrl()  

debugger 
var SelectID = form.GetControl("c_Grid").InputControl.GetSelectedItem().ID ; 
var Name = form.GetControl("c_Grid").InputControl.GetSelectedItem().LookUpID_title ; 
Name1=Name.substring(Name.indexOf("#")+1); 
var options = { 
    title: " پایگاه داده پروژه" + " "+ Name1, 
    width: 1500, 
    height: 1000, 
    url: "url"  + SelectID   +"&isdlg=1"}; 
SP.UI.ModalDialog.showModalDialog(options); 

</script> 
RenderButton(ID) 
گرفتن خروجی اکسل از یک گرید پاورفرمی
var grid = form.GetControl("c_Grid").InputControl; 
var cols = []; 
cols.push({field:"Title", title:"Client Ref"}); 
cols.push({field:"ProductName", title:"Product Name"}); 
cols.push({field:"CountryOfOrigin", title:"Country of Origin"}); 
grid.ExportToExcel(cols, "خروجی جدول.xls", "Sheet1"); 
تبدیل تکست مولتی لوکاپ به تکست گرید 
var str = form.GetControl("c_LookupTxt").GetValue(); 
const myArray = str.split(";#"); 
var text = '<Values><Record><Value Name="Service">' 
for(i=0; i<myArray.length-1; i++){ 
      text += myArray[i]; 
      if(i%2 == 0 || i==0){ 
          text+=";#"; 
      }else{ 
          text+='</Value></Record><Record><Value Name="Service">' 
      } 

text+=myArray[myArray.length-1]+'</Value></Record></Values>'; 
form.GetControl("c_value").SetValue(text); 
بازکردن هایپرلینک ها از داخل دیتا گرید به صورت پاپ آپ (include)
<script> 
form = ALL_FORMS[0].Form.FormTemplate;  
function RenderLink(name) {  
debugger  
        var htmlLink = '<a href="#" onclick="OpenUrl()">'+name+'</a>'; 
        return htmlLink;  
    }   
function OpenUrl() {  
debugger  
var SelectLink = form.GetControl("c_GridItem").InputControl.GetSelectedItem().__FullPath ;  
var options = {  
    title: "فایل پیوستی",  
    width: 1500,  
    height: 800,  
    url: SelectLink};  
SP.UI.ModalDialog.showModalDialog(options);  
    } 
</script> 
بازکردن هایپرلینک ها از داخل دیتا گرید به صورت پاپ آپ (include)
<script> 
form = ALL_FORMS[0].Form.FormTemplate;  
function RenderLink(name) {  
debugger  
        var htmlLink = '<a href="#" onclick="OpenUrl()">'+name+'</a>'; 
        return htmlLink;  
    }   
function OpenUrl() {  
debugger  
var SelectLink = form.GetControl("c_GridItem").InputControl.GetSelectedItem().__FullPath ;  
var options = {  
    title: "فایل پیوستی",  
    width: 1500,  
    height: 800,  
    url: SelectLink};  
SP.UI.ModalDialog.showModalDialog(options);  
    } 
</script> 
بازکردن هایپرلینک ها از داخل دیتا گرید به صورت تب جدید (include)
<script> 
document.querySelector("#div_PF_Main > div:nth-child(2)").hidden = true 
</script> 
<script> 
form = ALL_FORMS[0].Form.FormTemplate;  
function RenderLink(name) {  
debugger  
        var htmlLink = '<a href="#" onclick="OpenUrl()">'+name+'</a>'; 
        return htmlLink;  
    }   
function OpenUrl() {  
debugger  
var SelectLink = form.GetControl("c_GridItem").InputControl.GetSelectedItem().__FullPath ;  
var options = {  
    title: "فایل پیوستی",  
    width: 1500,  
    height: 800,  
    url: SelectLink};  
window.open(SelectLink,"_blank") 
    } 
</script> 
بازکردن هایپرلینک ها از داخل دیتا گرید به صورت تب جدید (include)
<script> 
document.querySelector("#div_PF_Main > div:nth-child(2)").hidden = true 
</script> 
<script> 
form = ALL_FORMS[0].Form.FormTemplate;  
function RenderLink(name) {  
debugger  
        var htmlLink = '<a href="#" onclick="OpenUrl()">'+name+'</a>'; 
        return htmlLink;  
    }   
function OpenUrl() {  
debugger  
var SelectLink = form.GetControl("c_GridItem").InputControl.GetSelectedItem().__FullPath ;  
var options = {  
    title: "فایل پیوستی",  
    width: 1500,  
    height: 800,  
    url: SelectLink};  
window.open(SelectLink,"_blank") 
    } 
</script> 
بررسی وجود داشتن آیتم تکراری در گرید خاص  (include)
var members = []; 
var gridItems =form.GetControl("c_grid").InputControl.GetAllItems();   
a = Number(gridItems.length); 
for (var i=0; i < a; i++){ 
    members.push(gridItems[i].Member); 

if(hasDuplicates(members)){ 
    alert("عضو تکراری در کارگروه وجود دارد!") 
}else{ 
    form.SaveAndExit(); 
اسکریپت باز کردن پی دی اف با دکمه داخل گرید  (include)
form = ALL_FORMS[0].Form.FormTemplate;  
function RenderButton() {  
debugger  
        var htmlButton = '<input type="button" ';
htmlButton += ' class="k-button sg-button" onclick="OpenUrl()" value="مشاهده"></input>'  
        return htmlButton;  
    }  
function OpenUrl() {  
debugger  
var SelectLink = form.GetControl("c_EntireDoc").InputControl.GetSelectedItem().UrlFile;  
SelectLink1 =SelectLink.substring(SelectLink.indexOf(",")+1);  
var options = {  
    title: "فایل پیوستی",  
    width: 1500,  
    height: 800,  
    url: SelectLink};  
window.open(SelectLink1,"_blank"); 
کد  رفرش گرید (include)
<script> 
function onCloseCallback_Reload(dialogResult, returnValue) {   
       ALL_FORMS[0].Form.FormTemplate.GetControl("c_Control1").ReloadValue(); 
    } 
function EditBook(){ 
form = ALL_FORMS[0].Form.FormTemplate; 
var ID = form.GetControl("c_Control1").InputControl.GetSelectedItem().ID ; 
var options = { 
    title: "ثبت آثار مولفین و مترجمان"  , 
    width: 1500, 
    height: 1000, 
    url: "url" + ID  +"&isdlg=1", 
dialogReturnValueCallback : onCloseCallback_Reload }; 
SP.UI.ModalDialog.showModalDialog(options); 

</script> 
با توجه به کد بالا این تکه کد در یکی از فیلد های گرید قرار میگیرد 
'<input type="button" class="k-button" onclick="EditBook()" value="ویرایش"></input>' 
زمانی که میخواهیم در یک گرید مقدار یک ستون تکراری نباشد
var rows = form.GetControl("c_Grid").InputControl.GetAllItems(); 
var gridpack = form.GetControl("c_Grid2").InputControl.GetAllItems(); 
var item =  form.GetControl("c_Grid2").InputControl.GetSelectedItem(); 
eachgridmenu = gridpack[i]; 
var result = true; 
var service = item.ServiceDes 
rows.forEach(row => { 
    if(row.ServiceDes == service){ 
        result = false 
    } 
}); 
if(result){ 
    form.GetControl("c_Grid").InputControl.AddNewRow(item);     
تغییر رنگ ردیف به ازای مقدار هر ستون در گرید (در edit page در snippet گذاشته شود. )
jQuery(document).ready(function ($) { 
  setTimeout(addColor, 1500) 
  function addColor(){ 
    setTimeout(function () { 
      var trs = $("#scriptWPQ2 table:last-child tbody tr") 
      $(trs).each(function () { 
            var tds = trs.find('td') 
            var thistr = $(this) 
            tds.each(function(){ 
              if($(this).text() == 'فوری'){ 
                $(thistr).css('background','#b3e7ff') 
              } 
            }) 
      }) 
    },1500) 
  }  
$(document).on("click", "#pagingWPQ2next,#pagingWPQ2prev", function () { 
    setTimeout(addIcon, 1500) 
  }) 
}) 
تغییر دستی جای ردیف های گرید
var c = form.GetControl("c_DEG");
var grid = $(c.InputControl.CTRL_GRID).data("kendoGrid");   
moveGridRowUp(grid);
  function moveGridRowUp(grid) 
    {
     var row = grid.select();
     if (row)
   {
          var dataItem = grid.dataItem(row);
          var index = grid.dataSource.indexOf(dataItem);
          var newIndex = Math.max(0, index - 1);
          if (newIndex != index) 
          {
            grid.dataSource.remove(dataItem);
          grid.dataSource.insert(newIndex, dataItem);
        }
   }
 }
sort کردن در گرید
var grid = $(form.GetControl("yourDataGrid").InputControl.CTRL_GRID).data("kendoGrid");
var dsSort = [];
dsSort.push({ field: "Title", dir: "asc" });
dsSort.push({ field: "Name", dir: "asc" });
grid.dataSource.sort(dsSort);
پنهان کردن دکمه های گرید
form = ALL_FORMS[0].Form.FormTemplate;
gridDetail = form.GetControl('Name_Grid') ; 
HideBtn = gridDetail.InputControl.CTRL_BUTTON_DELETE;
HideBtn.disabled = true