七、EnterpriseFrameWork框架基礎功能之字典數據配置管理


        框架中的“通用字典數據配置管理”主要解決的問題是,所有的行業軟件給客戶實施第一步一般都是基礎數據的維護,一個系統的字典是少不了的,涉及業務范圍越廣字典就越多,如果每一個字典數據都做一個界面來進行維護數據的話,那開發工作量還是比較大的,所以得考慮設計一個通用的模塊來管理這些字典數據;

本文要點:

 

1)功能清單介紹

2)功能界面展示

3)核心業務流程圖與數據庫表關系圖

4)關鍵點的技術實現代碼

 

1)通用字典管理功能清單

模塊名稱

功能名稱

功能說明

系統字典數據

基礎數據配置

字典分類目錄,新增、修改、刪除
字典管理,
1)選擇數據庫表添加字典
2)根據數據庫表字段,生成界面控件元素
3)對數據庫表進行增、刪、改、查操作

數據權限設置

配置系統角色可以操作的字典

基礎數據管理

根據用戶登錄的角色顯示可以操作的字典
字典維護,增、刪、改、查操作

 

2)通用字典管理界面展示,包括Winform版和Web版

 

 

 

3)通用字典管理核心業務流程圖與數據庫表關系圖

 

 

4)通用字典管理關鍵點技術實現

1.字典保存數據實現

//保存數據
        public Object SaveResultDataTable(int titleId, string IdName, object IdValue, Dictionary<string, object> fieldAndValue)
        {
            if (IdValue.Equals(System.DBNull.Value) == true)//插入數據
            {
                string fields = "";
                string values = "";
                string strsql = "insert into {0} ({1}) values({2})";

                foreach (KeyValuePair<string, object> val in fieldAndValue)
                {
                    fields += (fields == "" ? "" : ",") + val.Key;
                    values += (values == "" ? "" : ",") + ConvertDBValue(val.Value);
                }

                BaseGeneralTitle title = NewObject<BaseGeneralTitle>().getmodel(titleId) as BaseGeneralTitle;
                IdValue = oleDb.InsertRecord(string.Format(strsql, title.TableName, fields, values));
            }
            else//更新數據
            {
                string field_values = "";

                string strsql = "update  {0} set {1} where {2}";

                foreach (KeyValuePair<string, object> val in fieldAndValue)
                {
                    field_values += (field_values == "" ? "" : ",") + val.Key + "=" + ConvertDBValue(val.Value);
                }

                BaseGeneralTitle title = NewObject<BaseGeneralTitle>().getmodel(titleId) as BaseGeneralTitle;
                oleDb.DoCommand(string.Format(strsql, title.TableName, field_values, IdName + "=" + ConvertDBValue(IdValue)));
            }

            return IdValue;
        }
View Code

2.Web版JqueryEasyUI的Gird控件動態列

<div id="resulttool" class="toolbar">
    <a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-search" onclick="btnresult_search();">查詢</a>
    <a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-add" onclick="btnresult_addData();">增加</a>
    <a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-edit" onclick="btnresult_editData();">編輯</a>
    <a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-cancel" onclick="btnresult_delData();">刪除</a>
</div>
<table id="resultGird"  class="easyui-datagrid" fit="true" border="false" toolbar="#resulttool" iconCls="icon-edit" pagination="true" idField="<%=Session["resulstDataKeyName"]%>">
 <thead>
    <tr>
        <th field="ck" checkbox="true"></th>
        <%=Session["resulstDatacolmodel"]%>
    </tr>
</thead>
</table>
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM