WinFramework轻量级开发框架 - 单表数据窗体开发 - 界面二次开发


WinFrameworkV2.1轻量级框架-单表数据窗体开发 - 界面二次开发

C/S结构快速开发框架/软件快速开发平台   WinFrameworkV2.1轻量级框架  原创软件@csframework.com

1. 新建表
2.代码生成器
3. 集成代码到VS
4.界面二次开发
LookUpEdit下拉组件
绑定LookUpEdit数据源
数据校验-ValidateForSave
数据绑定-ViewDataBinding
扩展公共数据类型

一、数据库新建表(dt_Data_Product)

表结构预览:

图片

SQL 语句:

CREATE TABLE [dbo].[dt_Data_Product](
    [isid] [INT] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [ProductID] [VARCHAR](20) NOT NULL,
    [Material] [VARCHAR](20) NULL,
    [ProductName] [VARCHAR](20) NULL,
    [ZJM] [VARCHAR](20) NULL,
    [Specification] [NVARCHAR](20) NULL,
    [Unit] [VARCHAR](10) NULL,
    [Remark] [NVARCHAR](200) NULL,
    [CreateUser] [VARCHAR](20) NULL,
    [CreateDate] [DATETIME] NULL,
    [LastUpdateUser] [VARCHAR](20) NULL,
    [LastUpdateDate] [DATETIME] NULL,
 CONSTRAINT [PK_DT_DATA_PRODUCT] PRIMARY KEY CLUSTERED 
(
    [ProductID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自增列' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'isid'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'ProductID'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'材质' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'Material'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'ProductName'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'助记码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'ZJM'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'规格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'Specification'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'Unit'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'Remark'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'CreateUser'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'CreateDate'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最后修改人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'LastUpdateUser'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最后修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product', @level2type=N'COLUMN',@level2name=N'LastUpdateDate'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'基础资料-产品资料' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_Data_Product'
GO

二、代码生成器生成代码

2.1 生成Model层代码

单表演练之产品资料,辅助组件ViewDataBinding模式

代码文件:

单表演练之产品资料,辅助组件ViewDataBinding模式

2.2 生成窗体代码

单表演练之产品资料,辅助组件ViewDataBinding模式

使用辅助组件生成模式,窗体会采用 ViewDataBinding 绑定数据模式 。

数据绑定模式,参考: https://www.cscode.net/archive/WinFramework/1634565184.html

 

生成的窗体代码:

单表演练之产品资料,辅助组件ViewDataBinding模式

2.3 复制代码文件到VS项目

复制 Model 代码 ( dt_Data_Product.cs ) 到 WinFrameworkDemo.Models 项目:

单表演练之产品资料,辅助组件ViewDataBinding模式

复制 窗体代码(frm_Product.*.cs) 到项目 WinFrameworkDemo.Dictionary项目:

单表演练之产品资料,辅助组件ViewDataBinding模式

完成第二步后,窗体 frm_Product 中会有一个报错,添加引用即可解决:

图片

2.4 创建BLL类

这里需要手动在 WinFrameworkDemo.Business 中创建一个 BLL_Product 类:

单表演练之产品资料,辅助组件ViewDataBinding模式

代码参考:

C# 全选
using GZDBHelper;
using System;
using System.Data;
using WinFrameworkDemo.Models;

namespace WinFrameworkDemo.Business.Data
{
    public class BLL_Product : Base.bllBaseUserCommon
    {
        public BLL_Product()
            : base(typeof(dt_Data_Product))
        {
        }

    }
}

三、注册模块功能

3.1 在模块的 Management.cs 中注册功能

FunctionCollection.AddFunction(typeof(frm_Product), "产品资料", "Function_Product");

单表演练之产品资料,辅助组件ViewDataBinding模式

四、界面二次开发

4.1 TextEdit组件更改为LookUpEdit下拉参考数据组件

比如【材质类型】要设置为可下拉选择组件(LookUpEdit),需要把生成的默认类型(TextEdit)改为LookUpEdit组件。

单表演练之产品资料,辅助组件ViewDataBinding模式

更改为:

单表演练之产品资料,辅助组件ViewDataBinding模式

数据编辑页面的材质也改为LookUpEdit组件:

单表演练之产品资料,辅助组件ViewDataBinding模式

4.2 绑定LookUpEdit组件的下拉数据源

C# 全选
WinFramework.Library.DataBinderTools.Bound.BoundCommonDictDataName(txtMaterial, Business.CustomerEnum.EnumCommonDicData.产品材质, false, false);

BoundCommonDictDataName通用方法,用于绑定LookUpEdit组件的下拉数据源:

C# 全选
/// <summary>
/// 绑定基础数据
/// </summary>
/// <param name="lue">LookUpEdit组件</param>
/// <param name="E">公共数据类型,如:产品材质、付款方式</param>
/// <param name="displayCombination"></param>
/// <param name="AddNull">true:下拉数据源第一行显示空值</param>
public static void BoundCommonDictDataName(LookUpEdit lue, EnumCommonDicData E, bool displayCombination, bool AddNull)
{
   BoundCommonDictDataName(lue.Properties, E, displayCombination, AddNull);
}

参数说明:

lue:LookUpEdit组件

E:公共数据类型,如:产品材质、付款方式

displayCombination:下拉框默认显示【编码】+【名称】数据,如: 01 - 钢材, 或: 02 - 铝材

AddNull:True-下拉窗体第1行为空行,用于查询界面。

 

4.3 设置数据校验

更改控件类型后,要重新设置 ValidateForSave 属性 和 ViewDataBinding 属性:

单表演练之产品资料,辅助组件ViewDataBinding模式

单表演练之产品资料,辅助组件ViewDataBinding模式

ValidateForSave 属性:用于保存前数据校验。

ViewDataBinding 属性:用于数据源绑定。若不设置该属性,您更改了控件的值,数据源不会更新,也不会保存数据。

更多详细资料,参考: https://www.cscode.net/archive/WinFramework/1634565184.html

4.4 添加公共字典数据详情

单表演练之产品资料,辅助组件ViewDataBinding模式

 

添加公共字段类型(扩展公共字典类型):

https://www.cscode.net/archive/WinFramework/1634571374.html

五、效果展示

单表演练之产品资料,辅助组件ViewDataBinding模式

 

单表演练之产品资料,辅助组件ViewDataBinding模式

 

单表演练之客户资料

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:WinFramework轻量级开发框架 - 单表数据字典窗体开发指南
下一篇:WinFramework轻量级开发框架 - 自动生成流水号码(单据号码)
评论列表

发表评论

评论内容
昵称:
关联文章

WinFramework轻量级开发框架 - 数据开发 - 界面开发
WinFramework轻量级开发框架 - 主从开发指南-详细开发
WinFramework轻量级开发框架 - 数据字典开发指南
WinFramework轻量级开发框架 - 新建Winform业务数据
WinFramework轻量级开发框架 - 主从开发指南-采购订单
WinFramework轻量级开发框架 - Winform开发框架-模块功能注册与配置
WinFramework轻量级开发框架 - 继承关系图详解
WinFramework轻量级开发框架 - 权限机制
WinFramework轻量级开发框架 - 运行程序出现数据配置
C/S架构轻量级快速开发框架WinFramework-功能列表及模板
WinFramework轻量级开发框架 - 公共字典数据扩展
WinFramework轻量级开发框架 - 界面扩展按钮-自定义按钮
WinFramework轻量框架代码生成器 - 生成数据
WinFramework轻量级开发框架 - 参数设置
WinFramework轻量级开发框架 - LayoutControl界面自适应控件
C#.NET开发框架,开发平台产品介绍-C/S框架
代码生成器 CodeGenerator - 生成字典 (数据管理界面)
WinFramework轻量级开发框架 - 自定义功能按钮(InitButton/AddButton方法)
WinFramework轻量级开发框架 - 自定义GridView表格样式布局
C/S架构轻量级快速开发框架 - WinFramework核心优势