企业进销存管理系统.doc_第1页
企业进销存管理系统.doc_第2页
企业进销存管理系统.doc_第3页
企业进销存管理系统.doc_第4页
企业进销存管理系统.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要随着信息化时代的到来,生活中各种信息趋向数字化、清晰化,应用于各行业的信息管理系统应运而生。进销存管理系统就是在这样的一个环境中诞生的。本文论述一种适合于企业的信息管理系统的设计与实现。该系统采用Microsoft Visual Studio 2008作为开发工具,SQL Server 2005作为数据库管理系统。在对货运管理系统作可行性分析的基础上,提出系统研究目标及功能需求,研究其实现的关键技术,据此进行深入讨论。然后分析了企业的营运流程,整合企业管理过程中的所有信息资源,完成数据库设计、总体设计,着重论述了系统的登录设计、界面设计和帮助信息的实现,并完成系统的集成、调试和测试信息,最后对课题设计作出客观的评价和总结。关键词:货运管理 数据库 ASP.NET ADO3ABSTRACTNowadays, various kinds of information management systems come up in the trend of information time when every kind of information is becoming digitized and clarified. management system is designed in such environment.This essay discusses the design and implementation suitable for enterprises of transportations. The system uses Microsoft Visual Studio 2008 as development tool and SQL Server 2005 as database. This article deeply discusses the key to realizing the system in the requisite of feasibilities of transportation system and then analyses the procedure of operating,completes the whole design .incorporating all the information and resources and demonstrates the design of login and interface and help information with the integration ,test debug of the system and finally makes objective comments and summaries.Keywords: management systems , Database, ASP.NET,I第一章 引 言1.1 进销存管理系统研究的背景在当今高速发展的信息社会,现代商行业突飞猛进发展,伴随着我国国民经济连续多年的高速增长,为现代商业的发展创造了良好的条件。进销存管理系统的特点是从企业管理的角度出发,用集中的数据库将几乎所有与货运物品相关的数据统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得货运运输管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑商业物品规划和政策。1.2 研究目的及意义进销存管理系统是为中小型商业企业量身定制的一款物流管理平台,随着商品经济的发展,商业运作模式日趋多样化,该软件在分析设计上充分考虑了中小商业企业业务流程的可变性和业务种类的多样性,能够高效地管理进货、销售、调拨和存货业务。实现进销存业务的一体化管理,最大限度的整合库存结构、减少滞销库存、刺激商品销售。在管理模式上变被动管理为主动管理,自动化程度高,决策支持全面,能够准确及时地为决策者提供第一手信息,是企业长期信息化投资的理想产品。1.3 本课题研究的国内外现状经济全球化对我国中小型企业的发展提出了全方位的挑战。在积极建立商业现代商业管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,货运物品部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。公司管理者的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。公司集团非常急需一套既有先进管理思想又适合国内中小型企业的进销存管理系统,作为实现目标和提高现有水平的一种重要手段!1.4 系统研究所需要涉及的主要问题对中小型企业的营运流程进行分析,整合中小型企业管理过程中的所有信息资源,实现计算机全面管理。完成数据库设计、界面设计、系统的集成。要求用户界面简捷、合理、美观,数据库及软件结构设计合理。程序设计代码规范,系统功能齐全,并且运行通过。43第二章 系统分析2.1 可行性分析2.1.1 系统研究的方向软件的设计立足于可读性、适用性、易操作性、可维护性和可扩充性。为此,我们使用ASP.NEt语言,采用面向对象的程序设计思想进行程序设计,同时各模块相互独立,避免了一个模块无法使用而导致整个系统瘫痪的可能,使得程序易于扩充和维护;在软件设计上,采用了操作相关牵制的设计思想,即有的项目如果没有进行测试,则相应的功能是无法进行的,避免了误操作;2.1.2 设计系统的必要性与可行性本系统是企业的医药管理系统,经过分析可知该系统应该具有如下可行性:1.技术可行性本系统规模较大,涉及过程较为复杂。因此适合采用数据库管理,而且该系统在硬件方面要求不是很高。很容易达到要求;软件方面:进销存管理的信息数据流量较大,所以我们可以在Windows XP以上的操作系统,以SQL作为后台数据库,ASP.NET为前台进行开发。2.经济可行性价格易于接受,实用性好。与人工处理相比,会节省许多人力物力,而且准确性高,从长远角度考虑经济上较为合算。3.操作可行性由于系统有非常友好的界面,使用者无须具备很多计算机知识,只需对原有的人员进行短期培训即可熟练掌握本系统,直接进行上网操作。2.1.2系统的设计分析1客户信息:对有业务往来的货品供应/销售客户详细信息进行维护根据客户编号确定客户的唯一性;根据客户属性区分是供应商还是销售客户;根据客户分类区分是大客户还是小客户或其他;根据客户性质区分是个人还是公司;根据客户分区归属是哪个部门或哪个业务人员;2货品信息:对购进货品种类型号等基本信息进行维护;设置参考进价(最低价)和参考售价(建议价),采购时高于参考进价给予提示,销售时低于参考售价给予提示;设置最高库存和最低警戒库存,如果超过最高库存或低于警戒库存则进行提示。3字典信息:对计量单位,货物分类,客户分类,客户性质,客户分区等基本信息进行维护。4生成采购单分为手工录入采购单和自动生成采购单;自动生成采购单方案一:库存数量低于对应货品信息表中该货品的最低库存警戒数的货品;自动生成采购单方案二:货品采购数根据当前库存数、月平均销售数、客户的需求信息、已经在途的数据,以及货品标准库中的最高库存、最低库存警戒线;还有货品标准库中的订货周期等因素自动生成,其基本的计算公式为:应订数=月均销售数*订货周期+客户需求-在途-当前库存;手工录入采购单可以对上面自动生成的采购单进行添加、修改和删除。5采购单审核采购单的审核一般由熟悉业务的经理进行审核;对采购单进行添加、修改和删除等操作;采购单必须进行审核后才能进行货品采购。6入库单分为手工录入入库单和从采购订单中直接导入;入库单审核确认后才生成库存,在库存商品账中体现。7采购退货处理如果查不到退货商品的采购信息,退货商品采用累计加权平均法指定退货单价;采购退货确认后冲减库存,在库存商品帐中体现;退货货品的数量不能超过库存中同型号货品的总数量。8系统仓库设置对公司设立的逻辑仓库进行维护;不能删除、修改有存货的仓库;不能添加重名的仓库。9调拔单将货品进行逻辑的仓库调换;调换后原仓库该货品的数量减少;目标仓库货品的数量增加;调拔不在库存商品帐上体现。10库存统计按货品的型号对库存货品进行分级汇总;生成库存盘点表;当生成的盘点表与实际库存表货品数量不一致时生成盘盈盘亏信息。11销售单生成销售单时如果库存不足,则给予信息提示,不能生成销售信息;生成销售信息后冲减库存,在库存商品帐中体现。12销售退货处理如果查不到指定的销售信息,退货单价采用该客户最后一次购货的价格;如果还是找不到采用该货品最后一次销售的单价;增加库存,在库存商品帐中体现。2.1.3 关键技术本软件采用多文档界面,能满足中小型商业货运运输管理的基本需要。开发中用到的工具和技术简单介绍如下:1应用LINQ 实现多表间的复杂查询在应用LINQ查询单个表时,其查询条件相对比较简单,而要在多个表之间进行复杂的查询时应用LINQ,那么相对地LINQ查询表达式就要比较复杂,此时需要在LINQ查询表达式中使用join子句联接相关多个相关的表。以该通用进销存系统中的采购订单管理页面(PurchaseIndentList.aspx)为例,在页面进行初始化时需要将采购信息如采购人名称、供应商名称等绑定到GridView控件中,并且绑定的信息涉及到员工表、客户表等多表间查询。该页运行效果如图2.1所示。图2.1 应用LINQ实现多表间查询将货品采购信息显示在GridView控件中2ASP. NET AJAX无刷新技术应用AJAX是Asynchronous JavaScript and XML(异步JavaScript和XML技术)的缩写,它是由JavaScript脚本语言、CSS样式表、XMLHttpRequest数据交换对象和DOM文档对象(或XMLDOM文档对象)等多种技术组成的。微软在ASP. NET框架基础上,创建了ASP. NET AJAX技术,能够实现AJAX功能。ASP. NET AJAX技术被整合在ASP. NET 2.0及以上版本中,是ASP. NET的一种扩展技术。AJAX的三大核心控件分别为:ScriptManager控件(脚本管理员)、UpdatePanel控件(局部更新面板)和Timer控件(计时器)。在该进销存系统实现采购计划录入页面(PurchasePlanInput.aspx)中应用了AJAX无刷新技术,对页面的任何操作都不会使用页面产生闪动效果,运行效果如图2.2所示。图2.2 采购计划录入页面中应用了AJAX无刷新技术2.2 需求分析2.2.1 系统目标本系统属于中小型进销存管理系统,可以对中小型商业企业进行有效的物流管理。通过本系统可以达到以下目标有良好的人机交互功能:用户界面直观、友好、数据录入灵活、简便。支持多角度多维度的查询统计功能,对进、销、存进行综合分析能够根据货品销售情况及库存数量自动生成采购计划及自动转订单、入库考虑到中小型商业企业在信息化方面不同的投资程度,系统的硬件配置要求不能过高各种单据的最终确认,需要具有审核权限的人员进行审核操作。对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。实现企业内部物流的一体化管理:只采购最需要的商品,优化存货结构、消除库存积压、加速资金周转、提高工作效率、降低经营风险、增加利润2.2.2 系统的功能需求分析货运管理系统从运输行业的实际需求出发,参照先进的物流理念和多家领先的货运公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的库存管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证运作有序而高效的进行。2.2.3 开发及运行环境网站开发环境:Microsoft Visual Studio 2008集成开发环境网站开发语言: ASP. NET 3.5+C# 网站后台数据库:SQL Server 2005开发架构:ASP.NET 3.5 + AJAX+LINQ+XML+JavaScript+水晶报表+分布式事务等浏览器:Internet Explorer 7.0分辨率:最佳效果1024768像素第三章 系统设计3.1 系统业务系统业务主流程如图3.1所示:3.1 企业级通用进销存软件开发流程示意图3.3 数据库设计3.3.1 数据库结构的实现通过数据模型图可以了解数据关系、数据的流向, 以下是表结构的详细信息。1.调拨单主表(AdjustContent)记录调拨单主要信息如调拨单号、调拨人、调拨仓库等,AuditFlag为真时表示已打印该调拨单同时更新库存表由于货品调拨引起的变化。表结构如表3.1所示。表3.1 调拨单主表(AdjustContent)字段名称数据类型长度描述IDint4自增序列号AdjustBillCodevarchar20调拨单编号 AdjustManvarchar20调拨人 AdjustDatedatetime8调拨日期 SourceWareHousevarchar20源仓库 TargetWareHousevarchar20目标仓库 Memovarchar200备注 Operatorvarchar20操作员OperateDatedatetime8操作日期AuditFlagbit1是否已打印调拨单 2.货品信息表(ProductInfo)记录进销存业务涉及的货品信息(如货品名称、规格、产地等),各个单据凡涉及到货品信息的都与此表货品编号字段关联。表结构如表3.2所示。表3.2 货品信息表ProductInfo字段名称数据类型长度描述IDint4ProductCodevarchar20货品编码 HelpCodevarchar20助记码 ShortNamevarchar20货品简称 ProductNamevarchar100货品名称 Specsvarchar50规格型号 ProductTypevarchar20货品分类 Yieldlyvarchar100货品产地 Unitvarchar10单位 WareHousevarchar20参考仓位 MaxStoreint4最高库存 MinStoreint4最低库存 IsStopbit1停止订货 RetailPricefloat8零售价 TradePricefloat8批发价 MinimumPricefloat8最低价 AdrisePricefloat8建议价 CurMarketingPricefloat8当前市场价 Operatorvarchar20操作OperateDatedatetime8操作日期3.入库单主表(PurchaseContent)记录入库单主要信息如入库单号、经办人、供应商、入库仓库等,入库单可能是手工录入的,也可能是采购订单确认后转过来的(这种情况下入库单号与采购订单号相同),AuditFlag为真时表示入库单生效同时更新库存表由于货品入库引起的变化。表结构如表3.3所示。表3.3 入库单主表PurchaseContent字段名称数据类型长度描述IDint4编号PurchaseBillCodevarchar20采购入库单编号 CheckManvarchar20经办人 PurchaseDatedatetime8采购日期 Providervarchar20供应商 WareHousevarchar20仓库代码 PayModevarchar20付款方式 InvoiceTypevarchar20发票类型 InvoiceCodevarchar20发票号 Operatorvarchar20操作OperateDatedatetime8操作日期AuditFlagbit1入库审核标志 4.采购订单主表(PurchaseIndentContent)记录了采购订单的主要信息,采购订单可能是手工录入的,也可能是采购计划确认后转过来的(这种情况下订单号与计划单号相同),采购订单确认时将审核标志设为真,同时将该订单信息插入到入库单表。表结构如表3.4所示。表3.4 采购订单主表PurchaseIndentContent字段名称数据类型长度描述IDint4PurchaseBillCodevarchar20采购订单号 PurchaseManvarchar20采购人 PurchaseDatedatetime8采购日期 Providervarchar20供应商 WareHousevarchar20仓库代码 PayModevarchar20付款方式 InvoiceTypevarchar20支票类型 InvoiceCodevarchar20支票号 AuditFlagbit1审核标志:是否生效 OperateDatedatetime8Operatorvarchar205.销售单主表(SaleContent)记录销售单主要信息如销售单号、销售员、购货客户、出货仓库等,打印销售单时将AuditFlag设为真,同时更新库存表由于销售货品出库引起的变化。表结构如表3.5所示。表3.5 销售单主表SaleContent字段名称数据类型长度描述IDint4SaleBillCodevarchar20销售单编号 SaleManvarchar20销售员 SaleDatedatetime8销售日期 ClientCodevarchar20客户 WareHousevarchar20仓库代码 PayModevarchar20付款方式 InvoiceTypevarchar20发票类型 InvoiceCodevarchar20发票号 Memovarchar100备注 Operatorvarchar20OperateDatedatetime8AuditFlagbit1是否已打印销售单 6.仓库信息表(WarehouseInfo)记录了存放货品的仓库信息,在进销存业务中凡涉及到仓库的都与此表的仓库代码关联。表结构如表3.6所示。表3.6 仓库信息表WarehouseInfo字段名称数据类型长度描述IDint4WareHouseCodevarchar20仓库代码 HelpCodevarchar20助记码 ShortNamevarchar20仓库简称 WareHouseNamevarchar50仓库名称 Locationvarchar50位置 Areafloat8面积 Memovarchar200备注 3.3.5数据库管理与维护说明1. 定期查看数据库任务的运行结果日志和数据库可用空间最大值。2. 对数据库进行大批量的增、删、改操作后,建议对表进行一致性检查和索引的重建。3. 对业务数据库定期进行数据清理,清理前必须完成备份操作。4. 使用合法的病毒防治软件,定期扫描病毒,定期更新病毒库。5. 每日由系统管理员对数据库进行运行状况和日志的检查。第四章 系统模块的设计4.1 模块设计模块独立的概念是模块化,抽象,信息隐藏和局部化概念的直接结果,开发具有独立功能而且和其他模块之间没有过多相互作用的模块,就可以做到模块独立。通常程序中的一个模块完成一个适当的子功能。在分析系统的总体功能后,为实现总体功能,设计时应采用模块化设计的思想,即按照系统的总体功能,采用分而治之的方法,把完成不同功能的各个部分划分为多个子模块,将各个子模块组织成良好的层次结构,通过各模块之间的调用,实现系统的各项功能,从而实现系统的总体功能。4.1.1 系统模块的功能分析通用进销存管理系统主要是应用于中小型商业企业的物流管理平台。由基本信息、进货管理、库存管理、销售管理、查询统计和系统设置六个子系统组成。规划系统功能模块如下:基本信息:对进销存涉及的客户信息(包括供应商和购货客户)、货品信息、员工信息及存货的仓库信息进行维护;进货管理:对采购计划、采购订单、入库单及入库退货进行管理;库存管理:对库存信息、库存盘点、库存调拨进行管理;销售管理:对销售信息、销售退货进行管理;查询统计:对采购信息、销售及毛利信息、库存及预警信息进行统计;系统设置:设置用户权限、修改密码及设置用户字典(如货品类别、计量单位等)。4.1.2 系统功能层次图了解了系统的业务流程之后,根据系统的业务流程及总体规划设计的功能结构图如下。主模块功能结构,如图4.1所示。图24.1 通用进销存软件六大主要模块系统设置、库存管理和销售管理三大模块功能结构,如图4.2所示。图4.2 系统设置、库存管理和销售管理三大模块功能结构客户及货品、仓库的基本信息的功能结构如图4.3所示。图4.3 客户及货品、仓库基本信息的功能结构采购计划单、采购订单、入库单及采购退货单的进货管理功能结构如图4.4所示。图4.4 采购计划单、入库单及采购退货单的进货管理在进销存软件中查询统计功能有着举足轻重的地位,其功能结构如图4.5所示。图21.6 进销软件的查询统计功能结构图第五章 详细设计与实现详细设计阶段主要确定每个模块的具体执行过程,它的关键任务是确定怎样具体的实现所要求的目标系统, 也就是要设计出程序的 “蓝图”, 除了应保证程序的可靠性之外, 使将来编写出来的程序可读性好, 容易理解, 容易修改, 维护是详细设计阶段最重要的目标, 结构化程序设计是实现这一目标的基本保证, 是进行详细设计的逻辑基础。在软件的生存周期中,设计测试方案,诊断程序错误 ,修改和改进程序等等都必须首先读懂程序,实际上对于长期使用的软件程序而言,人读程序的时间可能要比写程序的时间还要长很多。5.1 公用类的设计开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。该通用进销存软件公共类的设计非常庞大且健壮,这里只是列出了三个比较典型的公共类设计,以此体现面向对象程序开发中的主要思想。更换网页皮肤主题类BasePageBasePage类是所有网页代码文件类的基类(或称超类),在通用进销存系统的所有网页代码文件类都继承自该类,它主要实现的功能是更换网页皮肤主题,具体代码如下:public class BasePage : System.Web.UI.Page / / 覆盖基类StyleSheetTheme方法,重新实现网页皮肤主题更换功能 / public override string StyleSheetTheme get string styleSheetTheme = Blue; /设置默认主题为蓝色 try string xmlFilePath = Server.MapPath(/Themes/Xml/CustomConfig.xml);u XElement xe = XElement.Load(xmlFilePath); /将xml文件导入到操作xml元素的类v IEnumerable elements = from e in xe.Descendants(ThemeName) select e; /LINQ to XML表达式w if (elements.Count() 0) /如果查询到的元素数大于0 XElement first = elements.First(); /取查询到第一个元素 styleSheetTheme = first.Value; catch return styleSheetTheme; /返回StyleSheetTheme属性 自定义GridView数据绑定控件类通用进销存系统中所有应用到的GridView都不是ASP.NET自带的GridView,而是在ASP.NET的GridView类基础上封装的自定义GridView控件,其主要优势在于该自定义GridView控件在绑定数据源中的数据为空时既可显示空数据的说明文字也显示其表头信息,而ASP.NET自带的GridView在绑定数据源中的数据为空时只显示一行说明文字,人性化的界面效果不好,应用自定义GridView控件显示空记录时的运行效果如图5.1所示。图5.1 自定义GridView数据绑定控件在无记录信息时的样式该自定义控件重写了基类的Render方法,判断当传入的数据源数据为空时自定义创建一个表格,在表格中添加两行:表头行和内容行,表头行根据GridView的字段列HeaderText设置行的单元格内容;内容行显示GridView数据为空的提示文本。当然表格及行的样式都是根据GridView设置的。其核心代码如下:protected virtual void RenderEmptyContent(HtmlTextWriter writer) Table t = new Table(); /创建一个HTML的Table t.GridLines = this.GridLines; /设置Table的线型与GridView相同 t.BorderStyle = this.BorderStyle; /设置边界风格与GridView相同 t.BorderWidth = 0; t.CellPadding = 1; t.CellSpacing = 1; t.HorizontalAlign = this.HorizontalAlign; t.Width = this.Width; /设置Table宽度与GridView相同 t.CopyBaseAttributes(this); t.BorderColor = this.BorderColor; /设置边界颜色与GridView相同 t.EnableTheming = this.EnableTheming; /设置主题是否生效与GridView相同 t.ForeColor = this.ForeColor; /设置前景色与GridView相同 t.SkinID = this.SkinID; /设置皮肤样式与GridView相同 t.ToolTip = this.ToolTip; /设置提示信息与GridView相同 t.Visible = this.Visible; /设置是否可见与GridView相同 t.Font.CopyFrom(this.Font); /设置字体对象与GridView相同 t.CssClass = this.EmptyDataTableCssClass != ? this.EmptyDataTableCssClass : this.CssClass; TableRow row = new TableRow(); /新建一个行 row.CssClass = this.EmptyDataTitleRowCssClass;/设置行的与层叠样式表 row.Height = 25; t.Rows.Add(row); foreach (DataControlField field in this.Columns) /根据GridView中的字段创建Table行的单元格 if (field.Visible) /如果GridView中的该字段可见 TableCell cell = new TableCell(); /创建单元格 cell.Text = field.HeaderText; row.Cells.Add(cell); /将单元格添加到行中 TableRow row2 = new TableRow(); /新建第二行 row2.CssClass = this.EmptyDataContentRowCssClass;/设置行的与层叠样式表 t.Rows.Add(row2); TableCell msgCell = new TableCell(); if (this.EmptyDataTemplate != null) /如果GridView中设置了空模板 this.EmptyDataTemplate.InstantiateIn(msgCell); else msgCell.Text = this.EmptyDataText; /设置单元格文本为空数据提示 msgCell.HorizontalAlign = HorizontalAlign.Center; msgCell.ColumnSpan = this.Columns.Count; /设置单元格的列合并 row2.Cells.Add(msgCell); t.RenderControl(writer); 自定义OurPager数据分页控件类只要用到GridView就需要分页,虽然GridView有自带的分页功能,但其功能相对简单且扩展性差,最主要的是它不能实现真正意义上的分页(即每次从数据库只读取当前页的数据),而第三方的分页组件又会涉及一些版权等问题。基于以上原因在通用进销存的表格分页方案中选择了自行开发分页控件OurPager,其最大意义在于真正意义上实现了数据的分页功能。自定义分页控件实际运行效果可如图5.2所示。图5.2 自定义分页控件分页控件只需输入两个行为属性:RecordCount和PageSize即可自动计算分页信息并绘制控件呈现,分页控件还提供了一个PageChanged事件,只需实现该事件即可在单击分页控件任意按钮时触发该事件。自定义分页控件事件执行的核心代码如下:private void DoPageChanged(PageChangedType ty, string cmdArgs) int currentPageIdx = CurrentPageIndex; int pageCnt = PageCount; int NewPageIndex = CurrentPageIndex; switch (ty) case PageChangedType.atFirst: NewPageIndex = 1; /新页索引设为1 break; case PageChangedType.atPrior: if (currentPageIdx 1) NewPageIndex = CurrentPageIndex - 1; break; case PageChangedType.atNext: if (currentPageIdx = 1 & idx 1) NumericPageIndex -; /页码按钮页索引减1 /根据页码按钮索引设置页索引 NewPageIndex = NumericPageIndex * NumericButtonCount; else if (cmdArgs = front) /如果触发向前翻页码按钮事件 if (NumericPageIndex = 1 & tmpArgs = RecordCount) NewPageIndex = tmpArgs; /设置页索引为页码按钮参数 break; if (PageChanged != null) /加页改变事件不为空 PageArgs args = new PageArgs(NewPageIndex); /设置页改变事件参数 PageChanged(this, args); /执行页改变事件代码 CurrentPageIndex = NewPageIndex; /最终确认当前页索引 CalculateButtonEnable(); /计算按钮只读 CalculateNumericBtnVisible(); /计算页码按钮可见 _lblPage.Text = string.Format(第0页 / 共1页, NewPageIndex, pageCnt); _txtToPage.Text = NewPageIndex.ToString(); /如果是向前或向后翻页码事件则要重新创建子控件 if (ty = PageChangedType.atNumeric & (cmdArgs=back | cmdArgs=front) RecreateChildControls(); 该自定义分页控件中还应用了一个比较典型的事件,即冒泡事件。冒泡事件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论