七、EnterpriseFrameWork框架基础功能之字典数据配置管理
框架中的“通用字典数据配置管理”主要解决的问题是,所有的行业软件给客户实施第一步一般都是基础数据的维护,一个系统的字典是少不了的,涉及业务范围越广字典就越多,如果每一个字典数据都做一个界面来进行维护数据的话,那开发工作量还是比较大的,所以得考虑设计一个通用的模块来管理这些字典数据;
本文要点:
1)功能清单介绍
2)功能界面展示
3)核心业务流程图与数据库表关系图
4)关键点的技术实现代码
1)通用字典管理功能清单
|
模块名称 |
功能名称 |
功能说明 |
|
系统字典数据 |
基础数据配置 |
字典分类目录,新增、修改、删除 |
|
数据权限设置 |
配置系统角色可以操作的字典 |
|
|
基础数据管理 |
根据用户登录的角色显示可以操作的字典 |
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;
}
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>
七、EnterpriseFrameWork框架基础功能之字典数据配置管理的更多相关文章
- 六、EnterpriseFrameWork框架基础功能之权限管理
回<[开源]EnterpriseFrameWork框架系列文章索引> 从本章开始进入框架的第二块内容“EnterpriseFrameWork框架的基础功能”,包括:权限管理.字典数据管理. ...
- 八、EnterpriseFrameWork框架基础功能之自定义报表
本章写关于框架中的“自定义报表”,类似上章“字典管理”也是三部分功能组成,包括配置报表.对报表按角色授权.查看报表:其核心思想就是实现新增一个报表而不用修改程序代码.不用升级,只需要编写一个存储过程, ...
- 九、EnterpriseFrameWork框架基础功能之消息管理
记得阿朱在<走出软件作坊>一书中有一章讲客户提的需求太邪门了,鼠标键盘不太会用要程序员开发一个语音输入功能,还要系统中带类似QQ的功能:确实刚开始的客户的想法有点天真,但是随着信息化的越来 ...
- Flask框架基础功能
引言 本文简单汇总Flask框架几大基础功能,包括: 路由系统 模板 数据库 几种常用Flask库 一个简单的Flask事例 Flask是一个基于Python,依赖Jinja2模板和WSGI服务的框架 ...
- 一起写框架-MVC框架-基础功能-Date类型数据绑定(七)
实现功能 表单请求传递的数据,格式为以下格式的日期时间数据. (1):yyyy-MM-dd hh:mm:ss (2):yyyy-MM-dd 执行方法可以使用Date类型接收. 实现思路 1.获得表单字 ...
- 爬虫入门之Scrapy 框架基础功能(九)
Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...
- 使用Typescript重构axios(六)——实现基础功能:获取响应数据
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 使用Typescript重构axios(七)——实现基础功能:处理响应header
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 原创:MVC 5 实例教程(MvcMovieStore 新概念版:mvc5.0,EF6.01) - 2、数据框架 和 功能预览
说明:MvcMovieStore项目已经发布上线,想了解最新版本功能请登录 MVC 影视(MvcMovie.cn) 进行查阅.如需转载,请注明出处:http://www.cnblogs.com/Dod ...
随机推荐
- 1、RabbitMQ入门
RabbitMQ 可以参考官网进行学习! 开发语言:Erlang – 面向并发的编程语言. AMQP:是消息队列的一个协议. mysql 是 java 写的吗?不是 那么 java 能不能访问?可以, ...
- WEB安全 asp+access注入
asp+access注入 数据库 (access数据库没有数据库名) 表名 字段(列名) 记录(行,内容) 注入常用函数: top n 表示查询结果的第n个记录 len() 函数返回文本字段中值的长度 ...
- e2fsprogs
开源文件系统ext2/ext3/ext4管理工具e2progs包含的工具组件: 1.debugfs: ext2/ext3/ext4文件系统调试工具.debugfs是一个交互式的文件系统调试工具,可以用 ...
- position+left+bottom+top+right
今天才知道原来position加上上下左右可以控制的到div的宽度的 比如我现在有一个需要 这样一个需求 现在是红色部分50px 但是你可能不知道剩下的蓝色部分的高度是多少 蓝色部分要怎么填满剩余的高 ...
- DataGuard相关视图
1.v$database SELECT name,open_mode,database_role,protection_mode,protection_level FROM v$database; 其 ...
- Oracle 使用RMAN进行备份
备份理论和基本语法 备份概念 执行备份或还原草的数据库称为目标.在一些环境下,有许多数据库,因此有许多RMAN目标.应一次连接每个数据库.目标的每个备份都有一些属性: 打开或关闭 完整或部分 完整或增 ...
- PHP绘制验证码
<?php //使用PHP绘图技术,画出自己的验证码 $checkCode=""; for($i=0;$i<4;$i++){ ...
- javascript的执行机制—Event Loop
既然今天要谈的是javascript的事件循环机制,要理解事件循环,首先要知道事件循环是什么. 我们先从一个例子来看一下javascript的执行顺序. <script> setTimeo ...
- 【PTA 天梯赛】L3-003 社交集群(并查集)
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友.一个“社交集群”是指部分兴趣爱好相同的人的集合.你需要找出所有的社交集群. 输入格式: 输入在第一行 ...
- MySQL常用:Got a packet bigger than 'max_allowed_packet' bytes & MySQL开远程服务
1. 数据导入时出现错误 Got a packet bigger than 'max_allowed_packet' bytes 通过终端进入mysql控制台 mysql>show VARIAB ...