彩票走势图

WinForm应用实战开发指南 - 字典数据管理

转帖|使用教程|编辑:龚雪|2023-04-28 10:36:18.650|阅读 113 次

概述:本文介绍另外一种效果较好的OutLookBar工具条的实现,欢迎下载相关工具体验~

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

在所有开发过的项目过程,很多如权限管理、字典数据管理模块,都是非常常用的模块,本文主要想介绍下提炼出来,各个项目均可通用的字典数据管理系统(或者叫做模块更为适合)。在介绍之前,想介绍下整合路线及一些想法,如下所示:

WinForm应用实战开发指南 - 字典数据管理

PS:给大家推荐一个C#开发可以用到的界面组件——DevExpress WinForms,它能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress技术交流群7:674691612      欢迎一起进群讨论

在Winform框架中,其中权限管理系统、字典管理系统,都是可以做成独立的程序来使用,而且应该可以在程序中引用来查询或者获取相关的字典数据,如找某个键值的字典列表作为下拉列表,而且由于实际项目总,有点是SqlServer、有的是Access数据库的,所以支持多数据库是最好的选择。

WinForm应用实战开发指南 - 字典数据管理

 在字典数据数据管理工程项目中,我们看到有两个不同的数据访问层,工厂模式通过不同的配置,调用不同的数据访问层,从而实现SqlServer、Access等数据库的支持,当然可以扩展更多的数据库支持,我们先来看看工程项目的视图如下所示:

WinForm应用实战开发指南 - 字典数据管理

配置文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>
</configSections>
<connectionStrings>
<add name="DataAccess" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\我的应用程序\数据字典\SqlDictionary\WHC.Dictionary.UI\bin\Debug\OrderWater.mdb;User ID=Admin;Jet OLEDB:Database Password=;" />
<add name="DataAccess2" providerName="System.Data.SqlClient"
connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/>
</connectionStrings>
<dataConfiguration defaultDatabase="DataAccess"/>

<appSettings>
<!--软件名称-->
<add key="ApplicationName" value="深田之星仓库管理系统"/>
<!--开发商名称-->
<add key="Manufacturer" value="广州爱启迪技术有限公司"/>

<!--数据字典的数据库类型:access、sqlserver等-->
<add key="ComponentDbType" value="access"/>
</appSettings>
</configuration>

我们通过DictionaryDbType来切换不同的数据库,不用修改代码实现多数据库支持,当然,不同的数据库,需要创建不同的数据库文件,不过数据库结构基本上是一致的。

我们看看该字典管理模块的最终效果,如下所示:

WinForm应用实战开发指南 - 字典数据管理

字典数据模块做成独立的程序后,一个可以独立运行,也可以在宿主程序中通过DLL方式调用类库来获取字典数据,如下所示:

private void InitDictItem()
{
this.txtManufacture.Items.Clear();
this.txtManufacture.Items.AddRange(DictItemUtil.GetDictByDictType("供货商"));

this.txtBigType.Items.Clear();
this.txtBigType.Items.AddRange(DictItemUtil.GetDictByDictType("备件属类"));

this.txtItemType.Items.Clear();
this.txtItemType.Items.AddRange(DictItemUtil.GetDictByDictType("备件类别"));

this.txtSource.Items.Clear();
this.txtSource.Items.AddRange(DictItemUtil.GetDictByDictType("来源"));

this.txtWareHouse.Items.Clear();
this.txtWareHouse.Items.AddRange(DictItemUtil.GetAllWareHouse().ToArray());

this.txtDept.Items.Clear();
this.txtDept.Items.AddRange(DictItemUtil.GetDictByDictType("部门"));
}

字典组件模块调用例子Demo程序下载地址也一并提供下载,下载地址如下:

本文转载自:


DevExpress v22.2全新发布

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP