开发数据查询窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架
目录
前言
本教程将指导您快速开发一个数据查询窗体,返回实体对象列表作为表格的数据源。

- DataTable / DataSet,返回基于ADO.NET底层数据对象。
- List<T>,返回实体对象。

界面开发
新增 Windows 窗体




开发查询条件和数据表格



新增实体模型 Model


tb_CustomerObject 类
C# 全选
/// <summary>
/// 客户实体模型
/// </summary>
[ORM_TableAttribute("tb_Customer", "CustomerCode", true)]
[ORM_ConcurrentAttribute("TS")]
public class tb_CustomerObject
{
[ORM_FieldAttribute(DbType.Int32, 4, false, false, false, false, false)]
public string ISID { get; set; }
[ORM_FieldAttribute(DbType.DateTime2, 8, false, false, false, false, false)]
public string TS { get; set; }
[ORM_FieldAttribute(DbType.String, 20, false, true, true, false, false)]
public string CustomerCode { get; set; }
[ORM_FieldAttribute(DbType.String, 200, false, true, false, false, false)]
public string NativeName { get; set; }
[ORM_FieldAttribute(DbType.String, 100, false, true, false, false, false)]
public string EnglishName { get; set; }
[ORM_FieldAttribute(DbType.String, 50, false, true, false, false, false)]
public string AttributeCodes { get; set; }
[ORM_FieldAttribute(DbType.String, 100, false, true, false, false, false)]
public string Address1 { get; set; }
[ORM_FieldAttribute(DbType.String, 100, false, true, false, false, false)]
public string Address2 { get; set; }
[ORM_FieldAttribute(DbType.String, 100, false, true, false, false, false)]
public string Address3 { get; set; }
[ORM_FieldAttribute(DbType.String, 40, false, true, false, false, false)]
public string Country { get; set; }
[ORM_FieldAttribute(DbType.String, 40, false, true, false, false, false)]
public string Region { get; set; }
[ORM_FieldAttribute(DbType.String, 40, false, true, false, false, false)]
public string City { get; set; }
[ORM_FieldAttribute(DbType.String, 12, false, true, false, false, false)]
public string CountryCode { get; set; }
[ORM_FieldAttribute(DbType.String, 6, false, true, false, false, false)]
public string CityCode { get; set; }
[ORM_FieldAttribute(DbType.String, 20, false, true, false, false, false)]
public string Tel { get; set; }
[ORM_FieldAttribute(DbType.String, 20, false, true, false, false, false)]
public string Fax { get; set; }
[ORM_FieldAttribute(DbType.String, 20, false, true, false, false, false)]
public string PostalCode { get; set; }
[ORM_FieldAttribute(DbType.String, 20, false, true, false, false, false)]
public string ZipCode { get; set; }
[ORM_FieldAttribute(DbType.String, 200, false, true, false, false, false)]
public string WebAddress { get; set; }
[ORM_FieldAttribute(DbType.String, 400, false, true, false, false, false)]
public string Email { get; set; }
[ORM_FieldAttribute(DbType.String, 40, false, true, false, false, false)]
public string Bank { get; set; }
[ORM_FieldAttribute(DbType.String, 50, false, true, false, false, false)]
public string BankAccount { get; set; }
[ORM_FieldAttribute(DbType.String, 100, false, true, false, false, false)]
public string BankAddress { get; set; }
[ORM_FieldAttribute(DbType.String, 40, false, true, false, false, false)]
public string ContactPerson { get; set; }
[ORM_FieldAttribute(DbType.String, 400, false, true, false, false, false)]
public string Remark { get; set; }
[ORM_FieldAttribute(DbType.String, 1, false, true, false, false, false)]
public string InUse { get; set; }
[ORM_FieldAttribute(DbType.Int32, 4, false, true, false, false, false)]
public string PaymentTerm { get; set; }
[ORM_FieldAttribute(DbType.DateTime, 8, false, true, false, false, false)]
public string CreationDate { get; set; }
[ORM_FieldAttribute(DbType.String, 50, false, true, false, false, false)]
public string CreatedBy { get; set; }
[ORM_FieldAttribute(DbType.DateTime, 8, false, true, false, false, false)]
public string LastUpdateDate { get; set; }
[ORM_FieldAttribute(DbType.String, 50, false, true, false, false, false)]
public string LastUpdatedBy { get; set; }
}开发DAL层

C# 全选
/// <summary>
/// 返回实体对象
/// </summary>
/// <param name="CustomerFrom"></param>
/// <param name="CustomerTo"></param>
/// <param name="Name"></param>
/// <param name="Attribute"></param>
/// <returns></returns>
public List<tb_CustomerObject> QueryList(string CustomerFrom, string CustomerTo, string Name, string Attribute)
{
CommandHelper sp = _Database.CreateSqlProc("usp_SearchCustomer");
sp.AddParam("CustomerFrom", CustomerFrom);
sp.AddParam("CustomerTo", CustomerTo);
sp.AddParam("CustomerName", Name);
sp.AddParam("Attribute", Attribute);
return _Database.ExecuteReaderList<tb_CustomerObject>(sp.Command);
}
https://www.cscode.net/archive/miniframework/255528223973381.html
查询按钮事件
C# 全选
private void btnQuery_Click(object sender, EventArgs e)
{
try
{
frmWaitingEx.ShowMe(this);
var list = _DAL.QueryList(txt_CustomerFrom.Text, txt_CustomerTo.Text, txt_Name.Text, ConvertEx.ToString(txt_Attr.EditValue));
gcSummary.DataSource = list;
}
finally
{
frmWaitingEx.HideMe(this);
}
}获取表格当前记录的对象
C# 全选
private void gvSummary_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
if (e.FocusedRowHandle >= 0)
{
//获取当前记录的实体对象
var o = gvSummary.GetRow(e.FocusedRowHandle);
tb_CustomerObject obj = (tb_CustomerObject)o;
}
}在模块主窗体添加功能按钮

https://www.cscode.net/archive/miniframework/257384738910213.html
【查询窗体】功能按钮

frmQueryCustomer 源码
C# 全选
public partial class frmQueryCustomer : frmBaseData
{
//数据访问层
dalCustomer _DAL = new dalCustomer(Loginer.Current);
public frmQueryCustomer()
{
InitializeComponent();
}
//略...
} 运行程序体验



参考文档:
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
软件界面图片提供者策略 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
角色管理/分配权限 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
用户管理 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发基础资料报表(单表) | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发数据访问层DAL | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增基础资料单表窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
模块主窗体添加功能按钮 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增业务模块 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体模块容器(frmModuleContainer)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体导航菜单NavbarControl 介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体工具栏按钮(Toolbar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体体系架构 / 逻辑架构 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
软件主窗体主界面设计 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
软件界面图片提供者策略 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
角色管理/分配权限 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
用户管理 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发基础资料报表(单表) | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发数据访问层DAL | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增基础资料单表窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
模块主窗体添加功能按钮 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增业务模块 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体模块容器(frmModuleContainer)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体导航菜单NavbarControl 介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体工具栏按钮(Toolbar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体体系架构 / 逻辑架构 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
软件主窗体主界面设计 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服



