使用後端Infocommand的RuntimeDatabase來設定保密的資料庫時, 前端頁面如何控制資料庫密碼的輸入?
密碼輸入可以使用 PromptDialog組件來設計, 設定一個欄位即可, Editor設定為password:
     這個表單加入以下JS:
$(function(){   // 打開表單就執行
   if (! $.getVariableValue('setPwd'))  // 沒設過Pwd的話
    {
        $('#PromptDialog1').promptdialog('show', function(row){     // 開啟輸入窗口
            $.setVariableValue('databasePwd',row.人資資料庫密碼);
            $.callMethod('員工資料表','checkPwd',{pwd:row.人資資料庫密碼},function(result){ // 執行後端檢查方法
                var param = $.parseJSON(result); //傳回result為JSON格式
                if (param.length != 0) 
                { $.alert('密碼正確','info');
                 $.setVariableValue('setPwd',"Yes",true);  // 避免重設  
                 $('#dgMaster').datagrid('options').remoteName = '員工資料表.員工資料表';  // 可以打開保密資料庫的資料表了
                 $('#dgMaster').datagrid('load'); 
                }
                else  $.alert('密碼正確','info');
            });
        });  
    }
})
function dgMaster_onBeforeLoad(param)
{
  if (! $.getVariableValue('setPwd')) //尚未輸入過密碼時
    {
        $('#dgMaster').datagrid('options').remoteName = '';  // 避免DataGrid下載資料
        $.loaded($(this).closest('div'));  // 關閉 "下載中…" 訊息
    }
}
Server端的保密資料庫的密碼檢查程式, 可以這樣寫:
exports.checkPwd = function(param,callback){
    var pwd = param.pwd;  // 取得密碼
    var clientInfo = this.clientInfo;
    clientInfo.database='HR'; // 要保密的資料庫
    var sql="select * from 員工資料表 "; // 保密資料庫任一個資料表皆可
    this.queryRaw(clientInfo, clientInfo.database, sql, {databasePwd:pwd}, callback);    
    // 如果密碼正確將傳回資料內容
};