iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 18
0
Software Development

BPM企業流程-EFGP開發路程系列 第 18

[Day 18] EasyFlow GP--Web表單元件-Grid 表格 的應用

Grid 表格很常用也很好用,自己在開發的過程中,知道鼎新EFGP會使用第三方
元件ActiveWidgets 在表單的元件上,
有這第三方套件,表單在設計上可以更多變化。
其中Grid元件有很多的功能可以應用,EX:可以在欄位列加上小圖示。
https://ithelp.ithome.com.tw/upload/images/20171221/20105722RwDFisz7wE.png
很討喜且可愛,自己有嘗試要應用到表單的開發中,但無奈功力不深,無法使出這第
三方套件的能力/images/emoticon/emoticon06.gif

有興趣的朋友可以研究研究,若有成果,還期待你的分享/images/emoticon/emoticon32.gif

自己研究幾個GRID可應用的部分。

  • 表單有2個以上的Grid時(grid001、grid002),點擊Grid的判別 (可參考EFGP-BPM文件)
function gridRowClick(pGridId){   
  if(pGridId == "grid001"){   
    //如果觸發這個function的是grid001,就...   
  }else if(pGridId == "grid002"){   
    //如果觸發這個function的是grid002,就...   
  }   
}   
  • 表格某欄位改變底色 ,改變文字
for(var i=0; i<gGridData.length ; i++){
   setColRowsetStyle("s_pml",i,"background","#ccc");  //底色為灰色 
   setColRowsetStyle("s_pmn",i,"color","Red");        //標示為紅字
}

  • 指定表格某欄位的寬度
 s_pmlObj.setColumnWidth(gridStrLength, 2);   //指定某欄位寬度。
  • 取得目前表格鎖定的行列。Row Index
  var k =s_pmlObj.getRowIndex();  

上一篇
[Day 17] EasyFlow GP--Web表單元件-Grid 表格 的欄位資料讀取
下一篇
[Day 19] EasyFlow GP--Web表單元件-Grid 表格 的應用
系列文
BPM企業流程-EFGP開發路程21

1 則留言

0
satan5304
iT邦新手 5 級 ‧ 2018-04-18 17:09:02

你好,我有測試你寫的:
for(var i=0; i<gGridData.length ; i++){
setColRowsetStyle("s_pml",i,"background","#ccc"); //底色為灰色
setColRowsetStyle("s_pmn",i,"color","Red"); //標示為紅字
}
修改顏色,但都沒有任何做用
是我的寫法有錯嗎?謝謝(下段語法)
function color()
{
var GrdBudgetTEXT = GrdBudgetTEXTObj.getData();
for(var i=0; i<GrdBudgetTEXT.length ; i++){
if (GrdBudgetTEXT[i][11] == "Y") {
setColRowsetStyle("gAccount",GrdBudgetTEXT[i][2],"color","Red"); //標示為紅字
}
}
}

恩恩 iT邦新手 5 級‧ 2018-04-19 10:10:49 檢舉

喔~看來沒有細節提到。
這個setColRowsetStyle() 是一個FUNCTION

我是將他寫在一個共用.JS中,在引用進來。

/**

  • 更改底色,單行iArray可以寫一個數字,多行則可以多個一起寫,如"1,4,5"

  • @param1 iGrid Grid元件的id

  • @param2 iArray 陣列數值

  • @param3 iStyle 要變化的style

  • @param4 iSetStyle style的值

  • @example@ setColRowsetStyle("s_pmn",i,"color","Black");

  • @Return 沒有Return

  • Browser IE、Chrome
    */
    //特定行設定-單行iArray可以寫一個數字,多行則可以多個一起寫,如"1,4,5"
    function setColRowsetStyle(iGrid,iArray,iStyle,iSetStyle){
    var tGrid = eval(iGrid+ "Obj");
    var tArray = [];
    if (iArray == ""){
    for (i = 0; i < tGrid.getColumnCount(); i++) {
    tGrid.getRowTemplate(i).setStyle(iStyle,iSetStyle);
    }
    }else{
    tArray = iArray.toString().split(",");
    for (i = 0; i < iArray.toString().length; i++) {
    tGrid.getRowTemplate(tArray[i]).setStyle(iStyle,iSetStyle);
    }
    }
    }

<嗯,了解,感謝你

我要留言

立即登入留言