略過巡覽連結。
略過巡覽連結      
  如何在DataGrid的編輯中, 讀取欄位的編輯內容, 及改變某欄位的內容? 觀看回應
可以透過Columns中的個別事件讀取與設定DataGrid欄位內容, 如在Refval或Combo可以透過onSelect事件, Textbox可以透過onBlur事件來處理, 如下範例:
function dgDetail_項目次序_onSelect(row)
{
    var type = $('#dgDetail').datagrid('getEditorValue', '類別'); //讀取欄位值
    var amt = 0;
    if (type=="代扣所得") {
        amt = -($('#dptab_薪資設定_所得扣繳金額').val());
    }
    else if (type=="代扣保險") {
        amt = -($('#dptab_勞保健保資料_本人勞健保費').val());
    }
    $('#dgDetail').datagrid('setEditorValue',{field: '金額', value: amt});  // 設定欄位值
}






  請問 Excel的資料來源如何取得一個自訂的SQL內容, 而不是固定的Table內容? 觀看回應
Excel的資料來源通常是透過 “#M:”來定義,如果是固定的資料表直接定義資料表名即可;但如果要取得一個SQL查詢結果內容的話, 必須使用"#M: TableName.CommandName的用法,其格式定義如下:
TableName: 這個名稱通常是指實體的Table名稱, 通常會與你的Word名稱相同, 所以Excel讀入時, 會檢查這個TableName是否存在, 這時如果你沒有一個相同名稱的Word(或Word內有相同的 #M:名稱), 這樣就會發生錯誤, 因為iCoder必須去檢查 '#' 的欄位定義與其他關係。有一種情況例外,就是Word有Master/Detail的定義,此時Excel也可以指定此TableName為Detail的資料表名稱, 也是允許的, 因為Detail的表名也確實存在。所以此TableName又稱為開發階段的資料表名稱。
CommandName: 這是指Runtime的資料來源,就是真正產生RWD表單時, DataGrid會以此CommandName作為資料來源, 也就是說, 他可以是一個SQL與查詢結果來輸出到Excel表格中, 與TableName差異的事, TableName是#的定義用於設計, CommandName是實際的資料來源用於Runtime執行。






  後端Command中的SQL比較複雜, 用了很多Left Join與欄位AS別名後, 前端的Query送出後會發生Where錯誤, 因為前端並不知道後端的實際的欄名, 如何解決? 觀看回應
可以透過後端Command的onBeforeExecuteSQL事件來重新替換Where的欄位名稱, 如下的範例:
exports.GPT010RA_onBeforeExecuteSQL = function(sql, whereStrs)
{
     for (var i = 0; i < whereStrs.length; i++) {
      whereStrs[i] =  whereStrs[i].replace(/M_SVS/g, 'A.M_MA');  //將M_SVS別名欄位換成實際的A.M_MA欄位
     }
 return sql;  
};





  如何使DataForm所有欄位caption位置都靠左? 觀看回應
先於工具箱拉出一個Literal,並於HTML中寫下CSS:
<style>
@media (min-width: 768px) {
.form-horizontal .control-label {
    text-align: left;
    }
}
</style>








  如何調整某一個DataForm欄位caption位置靠左? 觀看回應
舉例如下:
$('[for="dfMaster_員工編號"]').css('text-align', 'left');