新增按钮调用Invoice.js中的AddNew()这个函数,使gridview出现增加的控件。单击更新按钮触发后台 RowInserting()事件,将新增的数据添加到数据库中并重新绑定数据源。修改按钮调用Update()函数并触发后台 RowUpdating事件。
删除按钮调用FoundationCommon.js中的GridOperator.Delete(s)函数,并将GridViewInvoiceType作为参数传递给函数,当单击“确认”删除这条数据的按钮时,会调用funcDelete()函数,并且s.DeleteRow(iIndex)函数会触发后台RowDeleting()事件,删除指定ID的数据。
(2)而在往来分类等同等的功能中,有增加同级,增加下级,编辑节点的功能。其中模糊查询是调用Search.tiggerSearch(tlDealingsCompanyClass)函数,其中的PerformCallback触发后台的CustomCallback函数对数据库进行模糊查询,其页面如图6所示。
图6 往来分类单位图
在增加同级中,往来分类则是分为3个大类,其中MainClassID分别为0、1、2,分别代表一般单位、客户分类、供应商分类,不能增加这3个的同级节点,但可以增加下级节点,和下级节点的同级节点。调用DealingsCompanyClass.js中的AddBrotherDealingsCompanyClass()函数,根据选中节点ClassID的长度,判断是否为根节点,若长度为1则为根节点,此时不能增加其同级节点。若长度不为1,则为子节点,此时可以增加其同级节点。在增加下级节点中,子节点则不可以增加下级节点,而根节点可以增加下级节点。同样判断主键是否为根节点且把值传递给popEdit。
删除节点时,获取选中行的主键,根据GetNodeState来获取节点的状态,若为子节点,则可以删除;若为根节点,则不可以删除,系统做出相应的错误提示。调用FoundationSetWebService.asmx中的函数,通过Ajax,将选中行的主键ClassID传递给函数,执行删除操作;通过返回字符串且PerformCallback函数结合后台Customcallback重新给gridview绑定新的数据源。其中后台ExpandToLevel(1)函数,是将数据在界面中按照根节点和父节点的关系显示。在弹出的popEdit中,设置标志位flag区分是是新增还是编辑,通过Ajax将popEdit中的数据传递给FoundationSetWebService.asmx中对应的函数,分别对数据库进行Insert和Update操作。
5.4 客户信息管理模块实现
客户信息管理是对合同的客户信息进行增删改以及查询。查询包括模糊查询和根据左侧树选择进行查询,并根据用户输入信息进行筛选查询,如图7所示。
图7 客户信息管理图
模糊查询是在前台获得用户输入的信息,在js文件中将信息通过PerformCallback函数传递给后台gridview_customback函数,此函数中根据输入内容进行查询从而进行绑定,DataBind()事件会触发ClientDataSource_Selecting()事件,在此函数中与数据库进行交互,进行后台查询。左侧树绑定好数据源后,单击节点时,会触发TreeCategory_FocusedNodeChanged()事件,从而获得此节点的ClassID,若此id对应的IsLastLevel=false即不是末级节点,则根据ClientOrSupplier进行查询,显示出其所有字节点的信息;若是末级节点,则根据Category进行查询,只显示当前字节点的信息。
5.5 员工管理模块实现
员工管理有模糊查询功能,添加删除修改和查询所需的员工信息。左侧树加载所有部门信息及关系分类,右边显示所对应部门里的所有员工及其详细信息。且可以对信息进行条件筛选,来筛选出详细信息,其页面如图8所示。
图8 员工管理图
模糊查询功能:是在Staff_SalestaffInfos.js文件中,调用tiggerSearch和tiggerClear函数,保存用户所输入的模糊查询的文本,然后通过PerformCallback函数,将获得的文本传到后台StaffGridView_CustomCallback函数中,触发gridview的StaffGridView_DataBinding()事件。 C#项目合同管理ERP系统设计与实现(5):http://www.751com.cn/jisuanji/lunwen_1823.html