1:更新處理機制(js請求由同步變更為異步)
2:優化前端js:包括api和配置方式。
3:增加inputdialog功能。
4:增遠遠端驗證功能。
5:優化權限安全機制。
6:增加一次請求多個方法的功能。
7:優化支援文本資料庫(為了示範demo,節省我伺服器的資源)
config_grid表的字段變更:
viewname字段,變更為rules,長度為250。
mergeindexed,改名為:mergeindex。
ar.datagrid:操作表格和樹形表格(需要執行個體化)。
ar.upload:操作檔案上傳(需要執行個體化,如:導入按鈕(點選的時候彈出上傳excel檔案功能))。
ar.form:操作表單頁面(如普通的編輯或新增頁面)。
ar.combobox:操作下拉框對象。
ar.utility:通用工具類:如ar.utility.ajax類就在這裡面。
ar.global:全局對象。
1:對象(包括按鈕)都有$target,擷取jq對象。
2:對象(包括按鈕)都有ishidden屬性,可以按鈕顯示或隐藏。
3:對象(包括按鈕)都有三個事件(不管是按鈕還是對象的初始化):
onbeforeexecute
onexecute(預設都執行這個)
onafterexecute
處理時,根據業務,找到對應的對象,處理該事件即可。
4:有些對象有items屬性(dg.search.items、dg.pkcolumn.items、ar.global.dg.items)
5:有些對象有add方法。
var dg=new ar.datagrid(objname,tablename,id,type);
//這裡可以控制參數。
dg.bind();//綁定表格
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmL3MzMzEjMwIDOtMzN5gzM2UjMyYDM5AjNxAjMtgDM0cTMvwVOwYTMwIzLchDM0cTMvw1ZvxmYvwVbvNmLzd2bsJmbj5SNxAjMzV2Zh1Wavw1LcpDc0RHaiojIsJye.jpg)
或者是:(樹形菜單預設是通過右鍵菜單控制操作)
1:dg.toolarea:包括搜尋(search)和工具條(toolbar)。
2:dg.search:搜尋區
3:dg.toolbar:按鈕工具條
4:dg.pkcolumn:主鍵列區
5:dg.headermenu:列頭右鍵菜單
6:dg.contextmenu:行資料的右鍵菜單
比如:你想在點選查詢追加條件,那麼代碼就是:
dg.search.btnquery.onbeforeexecute=function(para){在這裡追加條件。}
比如:你想隐藏重置按鈕,那麼代碼是:
dg.search.btnreset.ishidden=false;
比如:你想給查詢條件某個框指派,那麼代碼是:
dg.search.onafterexecute=function(para){dg.search.items["列名"].val(123);};
也可以在頁面加載後處理:
dg.options={
onloadsuccess:function(){dg.search.items["列名"].val(123);}
}
其它細節,在源碼demo裡有介紹,這裡就點到為止了。
<code><</code><code>input</code> <code>name="username" class='easyui-validatebox' data-options="validtype:'exists[username]'" /></code>
效果:(架構内部隐式的條件參數包括:頁面傳遞的id,ar.form.tablename)
<code><</code><code>input</code> <code>name="f4" dialog="demo_testa" multiple="true" editable="true" /></code>
單選效果:(第一次運作時,需要配置下表頭,隐藏不需要呈現的列,然後調一個搜尋框出來)
多選效果:
選擇後,是個下拉,還可以再小操作:
效果:
本配置用于控制搜尋區,目前支援$1和$2配置,規則為:
如果是日期或資料,預設變成區間查詢(如上圖中的f4字段配置),即預設clone:true,示例配置:
$1:{title:"my title",width:200,clone:false}
可設按鈕寬度,是否多選,是否選擇,是否呈現請選擇,是否選擇時引發查詢,示例配置:
$2:{width:200,height:30,isquery:false,mutiple:true,defaultitem:false}
架構裡的示例代碼:
<code>$core.utility.ajax.post("getinitconfig,getkeyvalueconfig", null, null, null, null, function (result) {</code>
<code> </code><code>$core.global.variable = result.getinitconfig;</code>
<code> </code><code>$core.global.variable.isloadcompleted = true;</code>
<code> </code><code>$core.global.config = result.getkeyvalueconfig;</code>
<code> </code><code>});</code>
結果集按方法組合成json傳回。
1:本版本親自操刀前端api(之前版本的前端是交另一個同僚編寫)。
由于操刀前端,最近每天都折騰到深夜3-4點:
2:提升了性能(之前的同步導緻界面1-2秒空白的卡,速度體驗感不好)。
3:提升了安全性(之前版本有一定的權限安全問題)。
4:增強前端使用體驗。
本文原創發表于部落格園,作者為路過秋天,原文連結:http://www.cnblogs.com/cyq1162/p/5847549.html