开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架


MiniFramework蝇量开发框架新手指南-开发框架文库

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架

前言

本教程将指导您快速开发一个数据查询窗体,返回实体对象列表作为表格的数据源。

查询结果返回的数据有两种数据格式:

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

本教程将返回 List<T>实体对象。

界面开发

新增 Windows 窗体

在 FormsDemo 子目录下添加一个窗体:

新增基础资料单表窗体 - MiniFramework蝇量框架 - Winform框架

 

新增基础资料单表窗体 - MiniFramework蝇量框架 - Winform框架

 

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架

开发查询条件和数据表格

从其他界面复制查询条件 Panel ,设置 Dock 属性为 Top,修改查询条件。

从其他界面复制表格组件,设置 Dock 属性为 Fill,修改表格的列。

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架

 

新增实体模型 Model

在 Models 目录下新增实体类

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架

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层

在 dalCustomer 类添加一个方法

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);
        }

 

参考:开发数据访问层DAL

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

【查询窗体】功能按钮

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架

 

frmQueryCustomer 源码

C# 全选
    public partial class frmQueryCustomer : frmBaseData
    {
        //数据访问层
        dalCustomer _DAL = new dalCustomer(Loginer.Current);

        public frmQueryCustomer()
        {
            InitializeComponent();
        }

        //略...
    }    

运行程序体验

重新编译VS,打开【查询窗体】,点【查询】按钮。

开发数据查询窗体 - MiniFramework蝇量框架 - Winform框架

 

C/S框架网|原创精神.创造价值.打造精品

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
评论列表

发表评论

评论内容
昵称:
关联文章

开发数据查询 - MiniFramework框架 - Winform框架
新增基础资料单表 - MiniFramework框架 - Winform框架
新增业务单据主从表 - MiniFramework框架 - Winform框架
工具栏按钮(Toolbar)介绍 - MiniFramework框架 - Winform框架
体系架构 / 逻辑架构 - MiniFramework框架 - Winform框架
模块容器(frmModuleContainer)介绍 - MiniFramework框架 - Winform框架
软件主主界面设计 - MiniFramework框架 - Winform框架
模块主添加功能按钮 - MiniFramework框架 - Winform框架
MiniFramework开发框架新手指南开发指南
系统参数配置 - MiniFramework框架 - Winform框架
登录界面设计 - MiniFramework框架 - Winform框架
DataBinder类详解 - Winform MiniFramework框架
角色管理/分配权限 - MiniFramework框架 - Winform框架
导航菜单NavbarControl 介绍 - MiniFramework框架 - Winform框架
ucButtonFunction 组件详解-MiniFramework框架-Winform框架
新增业务模块 - MiniFramework框架 - Winform框架
开发数据访问层DAL - MiniFramework框架 - Winform框架
MiniFramework框架 Visual Studio解决方案
用户管理 - MiniFramework框架 - Winform框架
关于我们 - MiniFramework框架 - Winform框架