HFun.快速开发平台(四)=》自定义列表实例(请求参数的处理)
上编自定义列表描述了自定义列表的基本实现功能,本此记录列表的请求过程。
个人比较喜欢对参数进行对象化,方便后续人维护及查看,先上代码:
/*********************************************************
* 开发人员:QLQ
* 创建时间:
* 描述说明:保存列表页面加载时的URL参数信息,并提交给底层进行页面数据加载工作
* 更改历史:2016-12-15 优化数据验证
*
* *******************************************************/ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace HfQueryFrame.Func
{
[Serializable]
public class HfRequestParam
{
private string _QueryCode = string.Empty;
/// <summary>
/// 查询编号
/// </summary>
public string QueryCode
{
get
{
if (string.IsNullOrEmpty(_QueryCode))
{
throw new HfQueryPlatException("查询编号(QueryCode)参数无效!");
}
return _QueryCode;
}
set
{
if (string.IsNullOrEmpty(value))
{
throw new HfQueryPlatException("查询编号(QueryCode)参数无效!");
}
_QueryCode = value;
}
} private HfSystemFrame.ParamData.HfKeyValueParam _QueryCond = null;
/// <summary>
/// 默认查询条件(此参数需要进行参数替换,如用户、部门)
/// </summary>
public HfSystemFrame.ParamData.HfKeyValueParam QueryCond
{
get { return _QueryCond; }
set { _QueryCond = value; }
} private int _CurrentPage = ;
/// <summary>
/// 当前页
/// </summary>
public int CurrentPage
{
get { return _CurrentPage; }
set
{
if (value != _CurrentPage)
{
if (value < )
{
value = ;
}
else
{
_CurrentPage = value;
}
}
}
} private Func.HfQueryCriteria _AdvQueryString;
/// <summary>
/// 高级查询条件
/// </summary>
public Func.HfQueryCriteria AdvQueryString
{
get
{
if (_AdvQueryString == null)
{
_AdvQueryString = new HfQueryCriteria("");
}
return _AdvQueryString;
}
set { _AdvQueryString = value; }
} private string _ShowPageTitle = "Yes";
/// <summary>
/// 是否显示标题(默认为No)
/// </summary>
public string ShowPageTitle
{
get
{
if (string.IsNullOrEmpty(_ShowPageTitle))
_ShowPageTitle = "Yes";
return _ShowPageTitle;
}
set
{
if (string.IsNullOrEmpty(value))
{
_ShowPageTitle = "No";
}
else if (value != "Yes" && value != "No")
{
throw new HfQueryPlatException("查询参数(ShowPageTitle)无效!");
}
else
{
_ShowPageTitle = value;
}
}
} private string _IsReadOnly = "No";
/// <summary>
/// 是否为只读(不会显示任何操作按钮),只读为Yes,非只读为No,默认为No
/// </summary>
public string IsReadOnly
{
get
{
if (string.IsNullOrEmpty(_IsReadOnly))
_IsReadOnly = "No";
return _IsReadOnly;
}
set
{
if (string.IsNullOrEmpty(value))
{
_IsReadOnly = "No";
}
else if (value != "Yes" && value != "No")
{
throw new HfQueryPlatException("查询的参数(IsReadOnly)无效!");
}
else
{
_IsReadOnly = value;
}
}
} private string _QueryOrderby = string.Empty;
/// <summary>
/// 排序字段(如果为空,默认应用配置字段排序)
/// </summary>
public string QueryOrderby
{
get { return _QueryOrderby; }
set
{
if (value != _QueryOrderby)
{
_QueryOrderby = value ?? "";
}
}
} private string _QueryModel = "General";
/// <summary>
/// 列表模式,General(一般)、Dialog(弹出),系统默认为General
/// </summary>
public string QueryModel
{
get { return _QueryModel; }
set { _QueryModel = value; }
} private string _SelectType = string.Empty;
/// <summary>
/// 列表选择模式(只有标识为弹出框模式该项才有效),Single(单选)、Multiple(多选)
/// </summary>
public string SelectType
{
get { return _SelectType; }
set
{
if (QueryModel == "Dialog" && (value != "Single" && value != "Multiple"))
{
throw new HfQueryPlatException("查询的参数(SelectType)无效!");
}
_SelectType = value;
}
} /// <summary>
/// 是否分页,若不分页,value为No
/// </summary>
public string IsTurnPage { get; set; }
}
}
代码中将一个列表的基本数据参数列出,并对参数进行了基本的数据校验。
所有的列表请求方式基本相同,只是将编号及参数进行更换,如:
List.aspx?Code=Sys_SDFK3J9F4HG3G324G4G532HG5&Param=XXX&CurrentPage=
值得要说的是编号命名,必须要无规则!
列表参数如此,表单、流程等也基本这个思路,将参数对象化,方便维护。
【待续】
(欢迎转载,转载请注明:HFun.快速开发平台)
HFun.快速开发平台(四)=》自定义列表实例(请求参数的处理)的更多相关文章
- HFun.快速开发平台(二)=》自定义列表实例(请求参数的处理)
上编描述了自定义列表的基本实现功能,本此记录列表的请求过程. 个人比较喜欢对参数进行对象化,方便后续人维护及查看,先上代码: /************************************ ...
- HFun.快速开发平台(二)=》自定义列表实例
应用系统中数据列表的展现是开发内容之一,实现的方式基本是通过编号具体的访问列表页实现,通过检索条件进行数据源的获取,列字段的描述,还可能会有检索条件的实现,列表数据的导出等功能. 为了将重复工作进行简 ...
- HFun.快速开发平台(五)=》自定义系统数据选择
本篇介绍HFun.快速开发平台的另一项系统常用功能:系统数据或参数选择,主要应用在表单录入中信息的选择,如类别,编号等.先贴出本系统实现的页面效果: 如上图所示,系统中将参数的选择统一展现为该方式,开 ...
- HFun.快速开发平台(一)=》简述
[——使用成熟的技术实现了解的业务,关注面向对象,关注业务领域] 偶然的机会又回到了园子,看到上次的文章已是N年前,洽巧近期正在开发一个小程序,标题定为“快速开发平台”有点夸张,算是给自己定个小目标. ...
- HFun.快速开发平台(三)=》通用系统用户选择
系统中用户的选择使用特别多,将该功能统一实现可提升系统效率. 用户的选择实现相对简单,系统中基本都会提供,HFun.快速开发平台中的实现特点主要有: 1.用户的选择分为单用户选择和多用户选择. 2.用 ...
- 如何提高码农产量,基于java的web快速开发平台之自定义表单开发随笔
老板 :下班前一定写完? 程序猿:可以,下班前能一定给! 第二天早上上班~~~ 老板:这都第二天了,怎么没写完? 程序猿:我还没有下班呢! 哎!程序猿的痛啊 公司上线的项目有不少销售记录表,又是报价单 ...
- jeesite快速开发平台(四)----数据库各表一览
转自:https://blog.csdn.net/u011781521/article/details/55194309
- 审核流(3)低调奢华,简单不凡,实例演示-SNF.WorkFlow--SNF快速开发平台3.1
下面我们就从什么都没有,结合审核流进行演示实例.从无到有如何快速完美的实现,然而如此简单.低调而奢华,简单而不凡. 从只有数据表通过SNF.CodeGenerator代码生成器快速生成单据并与审核流进 ...
- SNF开发平台WinForm之十四-站内发送系统信息-SNF快速开发平台3.3-Spring.Net.Framework
1运行效果: 2开发实现: .组装站内信息发送实体对象. SNFService SNFService = new SNFService(); if (this.ucUser.SelectedIds ! ...
随机推荐
- 复旦大学2017--2018学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前十名 张菲诺(95).刘宇其(95).魏一鸣(93).郭宇城(92).程梓兼(91).葛珈玮(90).汪子怡(90).余张伟(90).张昰昊(89).朱柏青(89) 二.总成绩计 ...
- iOS imageNamed 与 imageWithContentsOfFile 的区别
imageNamed 方法 1)后面的参数是icon的名字,图片可以存在项目中,也可以存在Asset中 2)该方法只适合一些中小型的图片读取,而一些比较大的资源图片并不适合用这个方法 3)这个方法加载 ...
- 关于matplotlib绘制直方图偏移的问题
在使用pyplot绘制直方图的时候我发现了一个问题,在给函数.hist()传参的时候,如果传入的组数不是刚刚好(就是说这个组数如果是使用(最大值-最小值)/组距计算出来,而这个数字不是整除得来而是取整 ...
- Redis 集群版
1.# yum install ruby -y 1.1 后面需要用到ruby脚本 2.# yum install rubygems -y 1.1 安装ruby包管理器 3.# gem install ...
- 二、volatile关键字 - 内存可见性
1.内存可见性 (程序在运行时,jvm会为每一个执行任务的线程都分配一个独立的缓存,用于提高效率) 我觉得可以这样来理解: 内存:啥是内存?就是可以理解成电脑当中的内存条,程序创建个变量, ...
- Java 中的系统时间
currentTimeMillis()System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.current ...
- 【笔记】Nginx热更新相关知识
(以下学习笔记内容均摘自参考链接,仅供个人查阅) 1.inotify文件系统监控特性 Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如 ...
- Confluence 6 针对 'unmigrated-wiki-markup' 宏重新尝试合并
在签名的章节中,我们主要是针对没有完全合并完成余下的为合并内容的异常处理.最常见的情况是内容以及被合并了,但是页面使用 wiki 标记的内容没有被合并,通常这些 wiki 标记的内容使用了 'unmi ...
- git 的详解
https://blog.csdn.net/youzhouliu/article/details/78952453
- async-await用法
转载:https://segmentfault.com/a/1190000011526612?utm_source=tag-newest