书籍详情
.Net软件设计新思维:像搭积木一样搭建软件
作者:陈俊先,高阳 著
出版社:电子工业出版社
出版时间:2009-09-01
ISBN:9787121093784
定价:¥69.00
购买这本书可以去
内容简介
从.NET企业商务管理软件新思维设计角度出发,以C#编程语言为基础,采用XML组件即插即用的方式来开发管理软件。XML在这套方法中起到灵魂作用,它就好像一种胶,把所有的DLL粘到一起,真正运行的还是DLL。《.Net软件设计新思维:像搭积木一样搭建软件》包括两部分,第一部分是“商务新星.NET2008”(Business4.0)商务应用开发平台部分(管理软件开发平台),可进行“即插即用”傻瓜式的企业管理软件的开发;第二部分是底层平台部分(XmlDesigner2008设计器),商务新星.NET2008应用开发平台部分是完全基于底层平台的支持,来实现即插即用快速开发MIS应用等业务功能的(随书光盘500MB源码全部开源)。读者通过学习这种新思维开发模式,可以快速适应数据库结构变化、业务逻辑变化及程序界面变化,而且使用《.Net软件设计新思维:像搭积木一样搭建软件》所提供的可视图形化设计器,无须编码就可以改变数据库结构、用户界面,以及自动生成程序源代码和DLL。也可以掌握如何将一个XML组件任意插到现有的程序中,开发程序的过程就像搭积木一样用一块块积木构建出整个系统。通过《.Net软件设计新思维:像搭积木一样搭建软件》的学习,读者可以轻松掌握这种原理和开发技巧,从而开发出各个行业的商务企业管理软件。《.Net软件设计新思维:像搭积木一样搭建软件》既可作为大专院校相关专业师生的教学参考书,也可供计算机及其相关领域的工程技术人员查阅和开发毕业论文参考之用。对于.NET程序员和普通计算机爱好者,《.Net软件设计新思维:像搭积木一样搭建软件》也不失为帮助他们开拓思维和开发应用商务企业管理软件的一本深入浅出的计算机读物。
作者简介
陈俊先 1990年毕业于中国科学院沈阳自动化研究所获工学硕士学位(模式识别和智能控制)。参加过国家八五重点课题一一机器翻译系统,实现用软件把英语翻译成汉语。曾就职于日本东京NRS公司,担任高级设计师;担任辽宁星际网络科技有限公司产品部经理、首席架构设计师等职务;沈阳东软股份有限公司软件担任架构师:带领并指导东北大学研究生采用独创的全新软件开发模式(XML组件即插即用)开发企业信息系统。另外,还采用微软最新.NET、WPF、WCF和SQL Server 2008等前沿技术设计开发智能股票分析交易系统。
目录
第一部分
第1章 体验软件开发新思维
1.1 从一个实例开始
1.2 数据库表结构设计
1.3 采用传统软件开发模式构建
1.3.1 构建数据源
1.3.2 构建程序界面
1.3.3 修改绑定源
1.3.4 修改SQL语句和数据集
1.3.5 编写程序
1.3.6 体验开发成果
1.4 采用软件开发新模式构建
1.4.1 构建数据集
1.4.2 体验XML组件即插即用
1.4.3 建立SQL的绑定
1.4.4 建立数据的绑定
1.4.5 事件挂接处理
1.4.6 体验新模式成果
1.5 软件开发新模式的优势
1.6 小结
第2章 XML组件即插即用的机理
2.1 概述
2.2 .NET组件
2.2.1 什么是组件
2.2.2 属性
2.2.3 事件
2.2.4 数据绑定
2.3 XML组件即插即用
2.3.1 什么是XML组件
2.3.2 组件属性的XML表示
2.3.3 组件事件的XML表示
2.3.4 如何实现即插即用
2.4 组件标签定义文件
2.5 表达式文法
2.6 属性处理机制
2.6.1 属性基本值
2.6.2 属性默认值
2.6.3 动态属性值
2.7 事件处理机制
2.7.1 签名事件处理
2.7.2 非签名事件处理
2.8 数据模型
2.8.1 数据集和数据存取定义
2.8.2 数据绑定模型和XML表示
2.9 数据模型
2.9.1 数据存取机制
2.9.2 解析表达式和Where绑定
2.10 加载Form.dll
2.11 小结
第3章 构建 .NET窗体设计器最佳实践
3.1 .NET设计时概述
3.1.1 服务和容器
3.1.2 设计器宿主
3.1.3 设计器图面
3.1.4 设计器加载器
3.2 构建设计器图面
3.3 设计器宿主编程
3.4 设计器加载器设计
3.4.1 读取XML文件
3.4.2 写XML文件
3.5 设计时服务设计最佳实践
3.5.1 选择服务处理
3.5.2 组件改变服务处理
3.5.3 命名创建服务处理
3.5.4 菜单命令服务处理
3.5.5 工具箱服务处理
3.5.6 事件绑定服务处理
3.5.7 属性窗口服务处理
3.6 Undo引擎控制最佳实践
3.7 设计器复制/粘贴编程实践
3.8 设计器快捷键设计
3.9 源代码生成最佳实践
3.9.1 代码对象模型
3.9.2 数据集源代码生成
3.9.3 数据表和数据列源代码生成
3.9.4 SQL源代码生成
3.9.5 属性默认值和动态属性值的代码生成
3.9.6 快捷键源代码生成
3.9.7 事件源代码生成
3.9.8 数据绑定源代码生成
3.10 编译源代码最佳实践
3.11 小结
第4章 打印报表设计器基础
4.1 概述
4.2 打印设计元素
4.2.1 标签元素
4.2.2 检查框元素
4.2.3 线段元素
4.2.4 矩形元素
4.2.5 图形元素
4.2.6 网络元素
4.3 数据绑定
4.3.1 标签元素和检查框元素的数据绑定
4.3.2 网格元素的数据绑定
4.4 设计元素内存结构
4.4.1 打印标签描述文件
4.4.2 打印设计元素标签结构
4.5 小结
第5章 打印报表设计器最佳实践
5.1 图形系统概述
5.2 系统初始化
5.3 读/写XML
5.3.1 基本属性格式
5.3.2 图形格式
5.3.3 数据绑定格式
5.4 属性
5.4.1 属性默认值
5.4.2 动态属性
5.5 打印方式
5.5.1 分页打印
5.5.2 卡片式打印
5.5.3 客户自定义打印 0
5.6 打印标记类
5.7 转换标签并输出到打印机
5.7.1 标签元素的转换
5.7.2 检查框元素的转换
5.7.3 线段元素的转换
5.7.4 矩形元素的转换
5.7.5 图形元素的转换
5.7.6 网络元素的转换
5.8 页面设置
5.9 打印设置
5.10 打印方法调用
5.11 小结
第二部分
第6章 新思维之商务管理系统体系结构
6.1 商务管理系统的设计目标
6.2 商务管理系统的组成
6.3 客户端应用程序的基本概念
6.4 商务管理系统架构
6.5 服务程序
6.6 服务器程序
6.6.1 服务器程序启动流程
6.6.2 服务器配置
6.7 客户端程序
6.7.1 客户端程序启动流程
6.7.2 心跳信号
6.7.3 客户端配置
6.7.4 程序模块
6.8 小结
第7章 像搭积木一样搭建软件最佳实践
7.1 商务管理系统主界面
7.2 构建档案
7.2.1 建立数据集
7.2.2 设计档案窗体
7.2.3 运行客户档案
7.2.4 设计档案打印报表
7.3 构建查询
7.3.1 建立数据集
7.3.2 设计查询
7.3.3 设计查询打印报表
7.4 小结
第8章 新思维下的数据存取
8.1 数据存取机制概述
8.2 数据存取代理
8.3 DataAccess类
8.4 User类
8.5 小结
第9章 数据转换与生成最佳实践
9.1 概述
9.2 转换与生成源和目的
9.3 转换控制
9.4 小结
第10章 远程数据交换最佳实践
10.1 远程数据交换原理
10.2 数据导出实践
10.3 数据导入实践
10.4 小结
第11章 数据备份与恢复
11.1 数据的备份与恢复概述
11.1.1 连接
11.1.2 默认的Windows认证连接
11.1.3 SQL Server登录
11.1.4 仿冒其他Windows身份
11.1.5 作业和日程
11.2 数据备份
11.2.1 手工完全备份
11.2.2 自动完全备份
11.3 数据恢复
11.4 小结 0
第12章 业务逻辑设计最佳实践
12.1 进货业务逻辑设计
12.2 付款业务逻辑设计
12.3 出货业务逻辑设计
12.4 收款业务逻辑设计
12.5 小结
第13章 自扩展商务管理系统
13.1 在原有业务基础上扩展
13.1.1 改变数据库结构
13.1.2 调整数据集结构
13.1.3 调整界面与打印格式
13.2 增加新业务
13.3 小结
第14章 Web客户端程序设计基础
14.1 Web客户端程序基础
14.2 WebForm的基类XmlPage
14.3 Web客户端程序数据模型
14.3.1 数据集及数据存取定义
14.3.2 WebForm的数据绑定
14.3.3 数据更新机制
14.4 Web客户端程序数据模型
14.5 虚拟目录与配置
14.6 小结
第15章 构建Web页最佳实践
15.1 实现一个编辑型的Web页基类
15.2 创建Web项目
15.3 定义数据集
15.4 创建Web页
15.5 建立数据绑定
15.6 建立事件绑定与数据更新
15.7 建立SQL绑定
15.8 Web用户及注册
15.9 查看运行结果
15.10 小结
第三部分
附录A 组件描述语言(Component Markup Language,CML)
A.1 根标签
A.2 属性
A.2.1 颜色属性值表示法
A.2.2 位置属性值表示法
A.2.3 尺寸属性值表示法
A.2.4 枚举属性值表示法
A.2.5 列表框(ListBox)和下拉列表框(ComboBox)Items属性值表示法
A.2.6 PictureBox的Image属性值表示法
A.2.7 事例对象属性值表示法
A.3 数据绑定
A.3.1 简单控件数据绑定
A.3.2 ComboBox、ListBox数据绑定
A.3.3 复杂控件数据绑定
A.4 表达式文法
A.5 属性默认值($)和动态属性(=)
A.5.1 属性默认值($)
A.5.2 动态属性(=)
A.6 事件
A.6.1 签名事件方法
A.6.2 非签名事件方法
A.7 存取组件对象及属性
A.7.1 读取组件属性
A.7.2 设置组件属性
A.8 挂接自定义方法
A.9 系统对象
A.9.1 Me
A.9.2 Me.属性名
A.9.3 !组件名
A.9.4 !组件名.属性
A.9.5 Parent
A.9.6 Parent.属性名
A.9.7 Parent!组件名
A.9.8 Parent!组件名.属性名
A.9.9 Forms["SheetName"]
A.9.10 Forms["SheetName"]!组件名
A.9.11 Forms["SheetName"].属性名
A.9.12 Forms["SheetName"]!组件名.属性名
A.9.13 DataSet(数据集)
A.9.14 Count(主表记录数)
A.9.15 Cols["ColumnName"](主表列)
A.9.16 Parent.DataSet(父Form数据集)
A.9.17 Parent.Count(父Form主表记录数)
A.9.18 Parent.Cols["ColumnName"](父Form主表列)
A.9.19 Forms["SheetName"].DataSet
A.9.20 Forms["SheetName"].Count
A.9.21 Forms["SheetName"].Cols["ColumnName"]
A.9.22 [列号]
A.9.23 [列号].属性名
A.9.24 [列号]!控件ID
A.9.25 [列号]!控件ID .属性名
A.10 数据表(DataTable)
A.10.1 Name属性
A.10.2 IsMainTable属性
A.10.3 SQL属性和Where绑定表达式
A.10.4 Load 属性
A.10.5 Local 属性
A.10.6 From 属性
A.10.7 SQLDebug 属性
A.11 数据列(DataColumn)
A.11.1 ColumnName属性
A.11.2 Caption 属性
A.11.3 DefaultValue 属性
A.11.4 Expression 属性
A.11.5 Update属性
A.12 数据视(DataView)
A.13 快捷键
附录B 基类XmlForm的属性和方法
B.1 属性
B.1.1 public Junxian.AbstractDataAccess.DataAccess DA { get; set }
B.1.2 public DataSet DataSet { get; set }
B.1.3 public string MainTableName { get; set }
B.1.4 public Junxian.XmlForm.XmForm ParentSheet { get; set }
B.1.5 public string CurrentTable { get; set }
B.1.6 public string Shortcut { get; set }
B.2 方法
B.2.1 public virtual void Save(bool bQuestion)
B.2.2 public bool SaveDataToXml(string FileName)
B.2.3 public void Requery(string TableName)
B.2.4 public void RequeryTable(string TableName, bool IsClear)
B.2.5 public void RefreshDataView(string TableName)
B.2.6 public void GetDataView(string TableName)
B.2.7 public void Position_Changed(object sender, System.EventAgrs e)
B.2.8 public void PositionChanged()
附录C 《俊先管理软件开发平台》的文件
附录D 《商务新星.NET》对数据库表结构的限制
附录E Web页面基类XmlPage的属性和方法
E.1 属性
E.1.1 public DataSet DataSet { get; set }
E.1.2 public XmlPage ParentPage { get; set }
E.1.3 public string MainTableName { get; set }
E.1.4 public string PageName { get; set }
E.1.5 public Junxian.AbstractDataAccess.DataAccess DA { get; set }
E.2 方法
E.2.1 public object Parse(string strExpression)
E.2.2 public object Binding(string TableName, string ColumnName)
E.2.3 public void SaveData()
E.2.4 public void UpdateData(string TableName)
E.2.5 public void DeleteTableRecord(string TableName, object KeyValue)
E.2.6 public void RequeryTable(string TableName, bool IsClear)
E.2.7 public virtual void Requery(string TableName)
E.2.8 public void RefreshDataView(string TableName)
E.2.9 public void GotoPage(string PageName)
E.2.10 public void AddChildItem(string ChildTableName)
主要参考文献
第1章 体验软件开发新思维
1.1 从一个实例开始
1.2 数据库表结构设计
1.3 采用传统软件开发模式构建
1.3.1 构建数据源
1.3.2 构建程序界面
1.3.3 修改绑定源
1.3.4 修改SQL语句和数据集
1.3.5 编写程序
1.3.6 体验开发成果
1.4 采用软件开发新模式构建
1.4.1 构建数据集
1.4.2 体验XML组件即插即用
1.4.3 建立SQL的绑定
1.4.4 建立数据的绑定
1.4.5 事件挂接处理
1.4.6 体验新模式成果
1.5 软件开发新模式的优势
1.6 小结
第2章 XML组件即插即用的机理
2.1 概述
2.2 .NET组件
2.2.1 什么是组件
2.2.2 属性
2.2.3 事件
2.2.4 数据绑定
2.3 XML组件即插即用
2.3.1 什么是XML组件
2.3.2 组件属性的XML表示
2.3.3 组件事件的XML表示
2.3.4 如何实现即插即用
2.4 组件标签定义文件
2.5 表达式文法
2.6 属性处理机制
2.6.1 属性基本值
2.6.2 属性默认值
2.6.3 动态属性值
2.7 事件处理机制
2.7.1 签名事件处理
2.7.2 非签名事件处理
2.8 数据模型
2.8.1 数据集和数据存取定义
2.8.2 数据绑定模型和XML表示
2.9 数据模型
2.9.1 数据存取机制
2.9.2 解析表达式和Where绑定
2.10 加载Form.dll
2.11 小结
第3章 构建 .NET窗体设计器最佳实践
3.1 .NET设计时概述
3.1.1 服务和容器
3.1.2 设计器宿主
3.1.3 设计器图面
3.1.4 设计器加载器
3.2 构建设计器图面
3.3 设计器宿主编程
3.4 设计器加载器设计
3.4.1 读取XML文件
3.4.2 写XML文件
3.5 设计时服务设计最佳实践
3.5.1 选择服务处理
3.5.2 组件改变服务处理
3.5.3 命名创建服务处理
3.5.4 菜单命令服务处理
3.5.5 工具箱服务处理
3.5.6 事件绑定服务处理
3.5.7 属性窗口服务处理
3.6 Undo引擎控制最佳实践
3.7 设计器复制/粘贴编程实践
3.8 设计器快捷键设计
3.9 源代码生成最佳实践
3.9.1 代码对象模型
3.9.2 数据集源代码生成
3.9.3 数据表和数据列源代码生成
3.9.4 SQL源代码生成
3.9.5 属性默认值和动态属性值的代码生成
3.9.6 快捷键源代码生成
3.9.7 事件源代码生成
3.9.8 数据绑定源代码生成
3.10 编译源代码最佳实践
3.11 小结
第4章 打印报表设计器基础
4.1 概述
4.2 打印设计元素
4.2.1 标签元素
4.2.2 检查框元素
4.2.3 线段元素
4.2.4 矩形元素
4.2.5 图形元素
4.2.6 网络元素
4.3 数据绑定
4.3.1 标签元素和检查框元素的数据绑定
4.3.2 网格元素的数据绑定
4.4 设计元素内存结构
4.4.1 打印标签描述文件
4.4.2 打印设计元素标签结构
4.5 小结
第5章 打印报表设计器最佳实践
5.1 图形系统概述
5.2 系统初始化
5.3 读/写XML
5.3.1 基本属性格式
5.3.2 图形格式
5.3.3 数据绑定格式
5.4 属性
5.4.1 属性默认值
5.4.2 动态属性
5.5 打印方式
5.5.1 分页打印
5.5.2 卡片式打印
5.5.3 客户自定义打印 0
5.6 打印标记类
5.7 转换标签并输出到打印机
5.7.1 标签元素的转换
5.7.2 检查框元素的转换
5.7.3 线段元素的转换
5.7.4 矩形元素的转换
5.7.5 图形元素的转换
5.7.6 网络元素的转换
5.8 页面设置
5.9 打印设置
5.10 打印方法调用
5.11 小结
第二部分
第6章 新思维之商务管理系统体系结构
6.1 商务管理系统的设计目标
6.2 商务管理系统的组成
6.3 客户端应用程序的基本概念
6.4 商务管理系统架构
6.5 服务程序
6.6 服务器程序
6.6.1 服务器程序启动流程
6.6.2 服务器配置
6.7 客户端程序
6.7.1 客户端程序启动流程
6.7.2 心跳信号
6.7.3 客户端配置
6.7.4 程序模块
6.8 小结
第7章 像搭积木一样搭建软件最佳实践
7.1 商务管理系统主界面
7.2 构建档案
7.2.1 建立数据集
7.2.2 设计档案窗体
7.2.3 运行客户档案
7.2.4 设计档案打印报表
7.3 构建查询
7.3.1 建立数据集
7.3.2 设计查询
7.3.3 设计查询打印报表
7.4 小结
第8章 新思维下的数据存取
8.1 数据存取机制概述
8.2 数据存取代理
8.3 DataAccess类
8.4 User类
8.5 小结
第9章 数据转换与生成最佳实践
9.1 概述
9.2 转换与生成源和目的
9.3 转换控制
9.4 小结
第10章 远程数据交换最佳实践
10.1 远程数据交换原理
10.2 数据导出实践
10.3 数据导入实践
10.4 小结
第11章 数据备份与恢复
11.1 数据的备份与恢复概述
11.1.1 连接
11.1.2 默认的Windows认证连接
11.1.3 SQL Server登录
11.1.4 仿冒其他Windows身份
11.1.5 作业和日程
11.2 数据备份
11.2.1 手工完全备份
11.2.2 自动完全备份
11.3 数据恢复
11.4 小结 0
第12章 业务逻辑设计最佳实践
12.1 进货业务逻辑设计
12.2 付款业务逻辑设计
12.3 出货业务逻辑设计
12.4 收款业务逻辑设计
12.5 小结
第13章 自扩展商务管理系统
13.1 在原有业务基础上扩展
13.1.1 改变数据库结构
13.1.2 调整数据集结构
13.1.3 调整界面与打印格式
13.2 增加新业务
13.3 小结
第14章 Web客户端程序设计基础
14.1 Web客户端程序基础
14.2 WebForm的基类XmlPage
14.3 Web客户端程序数据模型
14.3.1 数据集及数据存取定义
14.3.2 WebForm的数据绑定
14.3.3 数据更新机制
14.4 Web客户端程序数据模型
14.5 虚拟目录与配置
14.6 小结
第15章 构建Web页最佳实践
15.1 实现一个编辑型的Web页基类
15.2 创建Web项目
15.3 定义数据集
15.4 创建Web页
15.5 建立数据绑定
15.6 建立事件绑定与数据更新
15.7 建立SQL绑定
15.8 Web用户及注册
15.9 查看运行结果
15.10 小结
第三部分
附录A 组件描述语言(Component Markup Language,CML)
A.1 根标签
A.2 属性
A.2.1 颜色属性值表示法
A.2.2 位置属性值表示法
A.2.3 尺寸属性值表示法
A.2.4 枚举属性值表示法
A.2.5 列表框(ListBox)和下拉列表框(ComboBox)Items属性值表示法
A.2.6 PictureBox的Image属性值表示法
A.2.7 事例对象属性值表示法
A.3 数据绑定
A.3.1 简单控件数据绑定
A.3.2 ComboBox、ListBox数据绑定
A.3.3 复杂控件数据绑定
A.4 表达式文法
A.5 属性默认值($)和动态属性(=)
A.5.1 属性默认值($)
A.5.2 动态属性(=)
A.6 事件
A.6.1 签名事件方法
A.6.2 非签名事件方法
A.7 存取组件对象及属性
A.7.1 读取组件属性
A.7.2 设置组件属性
A.8 挂接自定义方法
A.9 系统对象
A.9.1 Me
A.9.2 Me.属性名
A.9.3 !组件名
A.9.4 !组件名.属性
A.9.5 Parent
A.9.6 Parent.属性名
A.9.7 Parent!组件名
A.9.8 Parent!组件名.属性名
A.9.9 Forms["SheetName"]
A.9.10 Forms["SheetName"]!组件名
A.9.11 Forms["SheetName"].属性名
A.9.12 Forms["SheetName"]!组件名.属性名
A.9.13 DataSet(数据集)
A.9.14 Count(主表记录数)
A.9.15 Cols["ColumnName"](主表列)
A.9.16 Parent.DataSet(父Form数据集)
A.9.17 Parent.Count(父Form主表记录数)
A.9.18 Parent.Cols["ColumnName"](父Form主表列)
A.9.19 Forms["SheetName"].DataSet
A.9.20 Forms["SheetName"].Count
A.9.21 Forms["SheetName"].Cols["ColumnName"]
A.9.22 [列号]
A.9.23 [列号].属性名
A.9.24 [列号]!控件ID
A.9.25 [列号]!控件ID .属性名
A.10 数据表(DataTable)
A.10.1 Name属性
A.10.2 IsMainTable属性
A.10.3 SQL属性和Where绑定表达式
A.10.4 Load 属性
A.10.5 Local 属性
A.10.6 From 属性
A.10.7 SQLDebug 属性
A.11 数据列(DataColumn)
A.11.1 ColumnName属性
A.11.2 Caption 属性
A.11.3 DefaultValue 属性
A.11.4 Expression 属性
A.11.5 Update属性
A.12 数据视(DataView)
A.13 快捷键
附录B 基类XmlForm的属性和方法
B.1 属性
B.1.1 public Junxian.AbstractDataAccess.DataAccess DA { get; set }
B.1.2 public DataSet DataSet { get; set }
B.1.3 public string MainTableName { get; set }
B.1.4 public Junxian.XmlForm.XmForm ParentSheet { get; set }
B.1.5 public string CurrentTable { get; set }
B.1.6 public string Shortcut { get; set }
B.2 方法
B.2.1 public virtual void Save(bool bQuestion)
B.2.2 public bool SaveDataToXml(string FileName)
B.2.3 public void Requery(string TableName)
B.2.4 public void RequeryTable(string TableName, bool IsClear)
B.2.5 public void RefreshDataView(string TableName)
B.2.6 public void GetDataView(string TableName)
B.2.7 public void Position_Changed(object sender, System.EventAgrs e)
B.2.8 public void PositionChanged()
附录C 《俊先管理软件开发平台》的文件
附录D 《商务新星.NET》对数据库表结构的限制
附录E Web页面基类XmlPage的属性和方法
E.1 属性
E.1.1 public DataSet DataSet { get; set }
E.1.2 public XmlPage ParentPage { get; set }
E.1.3 public string MainTableName { get; set }
E.1.4 public string PageName { get; set }
E.1.5 public Junxian.AbstractDataAccess.DataAccess DA { get; set }
E.2 方法
E.2.1 public object Parse(string strExpression)
E.2.2 public object Binding(string TableName, string ColumnName)
E.2.3 public void SaveData()
E.2.4 public void UpdateData(string TableName)
E.2.5 public void DeleteTableRecord(string TableName, object KeyValue)
E.2.6 public void RequeryTable(string TableName, bool IsClear)
E.2.7 public virtual void Requery(string TableName)
E.2.8 public void RefreshDataView(string TableName)
E.2.9 public void GotoPage(string PageName)
E.2.10 public void AddChildItem(string ChildTableName)
主要参考文献
猜您喜欢