CN101645075A - 一种基于xml和动态脚本文件配置实现的通用数据列表方法 - Google Patents

一种基于xml和动态脚本文件配置实现的通用数据列表方法 Download PDF

Info

Publication number
CN101645075A
CN101645075A CN200910018622A CN200910018622A CN101645075A CN 101645075 A CN101645075 A CN 101645075A CN 200910018622 A CN200910018622 A CN 200910018622A CN 200910018622 A CN200910018622 A CN 200910018622A CN 101645075 A CN101645075 A CN 101645075A
Authority
CN
China
Prior art keywords
title
name
width
ejs
filedname
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200910018622A
Other languages
English (en)
Inventor
肖祝川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Shandong General Software Co Ltd
Original Assignee
Inspur Group Shandong General Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Group Shandong General Software Co Ltd filed Critical Inspur Group Shandong General Software Co Ltd
Priority to CN200910018622A priority Critical patent/CN101645075A/zh
Publication of CN101645075A publication Critical patent/CN101645075A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于XML和动态脚本文件配置实现的通用数据列表方法,该方法可以使用户方便的制定各种业务数据列表信息,并可以通过后台定义的数据存储过程对选中的单据进行业务处理。采用XML配置文件实现数据列表的索引和数据列表字段定义,通过动态的脚本文件实现数据列表的界面操作处理,通过Ajax方式对选择的数据列表信息进行业务数据处理。通过不同的Xml定义和不同的JavaScript脚本文件,可以实现不同的业务列表功能,包括列表组合使用或单据分解。本发明的具有功能和有益效果是:1)解决了传统方式下数据列表实现的编码方式,大大提高开发部署速度;2)合并解决了业务数据批量处理和逐一处理的需求问题;3)完善的解决了基于浏览器的地址参数与表单提交的混合处理问题。

Description

一种基于XML和动态脚本文件配置实现的通用数据列表方法
技术领域
本发明涉及一种计算机应用技术,是面向非专业或专业技术终端操作人员使用的,可以迅速高效进行业务数据列表功能实现的一项技术。
背景技术
目前在企业的日常业务中,需要对各种业务数据进行批量处理或数据之间进行勾兑关系,例如:回款与发票之间的核销操作,单据的批量打印审批,批量客户的部门业务人员的关系调整等等。现有技术在实际应用过程中存在不足是:
1、传统方式下数据列表实现的编码方式较为落后,影响开发部署速度。
2、不能满足业务数据批量处理和逐一处理的需求问题。
3、不能解决基于浏览器的地址参数与表单提交的混合处理问题。
发明内容
本发明的目的是提供一种基于XML和动态脚本文件配置实现的通用数据列表方法。
本发明的目的是突破了传统的硬编码方式,提供一种基于XML和动态脚本文件配置实现的通用数据列表技术,使用户可以方便的制定各种业务数据列表信息,并可以通过后台定义的数据存储过程对选中的单据进行业务处理。
本发明的目的是按以下方式实现的,采用XML配置文件实现数据列表的索引和数据列表字段定义,通过动态的脚本文件实现数据列表的界面操作处理,通过Ajax方式对选择的数据列表信息进行业务数据处理。
以客户的部门调整业务功能为例:
A.索引定义部分如下:
<objectRoot>
 <object title=″地区″titlewidth=″25″name=″T_DQ″id=″txtDQ″type=″0″
  HelpID=″ZWDQZD″HelpNo=″XS99″Filter=″″width=″100″readonly=″0″QueryString=″″
  FiledName=″″/>
<object title=″过滤条件″titlewidth=″50″name=″T_Filter″id=″txtFilter″type=″2″
  HelpID=″″HelpNo=″″Filter=″ZWWLDW″width=″150″readonly=″1″QueryString=″″
  FiledName=″″/>
  </objectRoot>
定义解释如下
title索引标题
titlewidth索引标题宽度
name索引名称
id索引ID
type索引类型 0帮助 1日期 2过滤
HelpID帮助ID
HelpNo帮助序号
Filter帮助的过滤条件
width索引内容宽度
readonly是否只读
QueryString来自地址条件
FiledName来自地址条件对应的字段条件
B.数据列信息定义如下:
<select Title=″部门调整″sql=″select ZWDQZD_DQBH,ZWDQZD_DQMC,KCBMZD_BMBH,
    KCBMZD_BMMC,YXKHJBB_KHBH,YXKHJBB_KHMC from YXKHJBB left join XSBMKH on
    (YXKHJBB_KHBH=XSBMKH_DWBH)left join KCBMZD on
    (KCBMZD_BMBH=XSBMKH_BMBH),ZWDQZD where YXKHJBB_CSQY=ZWDQZD_DQBH″
    OrderString=″YXKHJBB_KHBH″Pagsize=″20″>
  <Fields title=″选择″FiledName=″″Align=″center″Width=″10″
    DataFormatString=″″EditFlag=″2″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
  <Fields title=″客户编号″FiledName=″YXKHJBB_KHBH″Align=″left″Width=″10″
    DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
  <Fields title=″客户名称″FiledName=″YXKHJBB_KHMC″Align=″left″Width=″30″
    DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
  <Fields title=″地区编号″FiledName=″ZWDQZD_DQBH″Align=″left″Width=″10″
    DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
  <Fields title=″地区名称″FiledName=″ZWDQZD_DQMC″Align=″left″Width=″20″
    DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
  <Fields title=″部门编号″FiledName=″KCBMZD_BMBH″Align=″left″Width=″10″
    DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
  <Fields title=″部门名称″FiledName=″KCBMZD_BMMC″Align=″left″Width=″20″
    DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
    </select>
定义解释如下
Sql数据源信息
OrderString列表的排序字段
Pagsize列表的页的大小
Title字段标题
FiledName字段名称
Align对齐方式
Width显示的宽度
DataFormatString显示格式
EditFlag 0不可以编辑 1可以编辑 2选择框 3单选框
DoKey事件
EJS事件脚本
DefVal默认值
IsSum是否合计 0否 1是
C.按钮定义部分为
<bottonRoot>
  <botton id=″btn01″name=″全选″title=″全选″EJS=″SetAll(true)″/>
  <botton id=″btn02″name=″取消全选″title=″取消全选″EJS=″SetAll(false)″/>
  <botton id=″btn01″name=″部门调整″title=″部门调整″EJS=″SetBMBH()″/>
  <botton id=″btn02″name=″退出″title=″退出″EJS=″Exit()″/>
 </bottonRoot>
定义解释如下
Id按钮的ID
Name按钮名称
Title按钮提示
EJS按钮实行的脚本函数,该脚本函数在脚本文件中定义
功能调用方法为SD_List_Mgr.aspx?F_XML=SD_XSBMKH_MAIN & F_JS=SD_XSBMKH_MAIN,通过页面地址参数动态绑定Xml配置文件和JavaScript脚本文件。
通过不同的Xml定义和不同的JavaScript脚本文件,可以实现不同的业务列表功能,包括列表组合使用或单据分解。
本发明的具有功能和有益效果
1.解决了传统方式下数据列表实现的编码方式,大大提高开发部署速度。
2.合并解决了业务数据批量处理和逐一处理的需求问题。
3.完善的解决了基于浏览器的地址参数与表单提交的混合处理问题。
具体实施方式
本发明的一种基于XML和动态脚本文件配置实现的通用数据列表方法,具体实现步骤如下:
功能调用方式为:/NetBill/SD_ListMgr/SD_List_Mgr.aspx?F_XML=SD_XSBMKH_MAIN & F_JS=SD_XSBMKH_MAIN.
通过地址参数,动态的调用不同的Xml配置文件和脚本文件,用户可以通过记事本等文本编辑工具,直接编辑Xml和Js脚本文件。
主要程序组件:
数据列表主页面的生成过程主要代码为:
//获取对象XML描述
string p_js_Filename=Request.QueryString[″F_JS″].ToString();
if(p_js_Filename==″″)
     p_js_Filename=″empty″;
//防止重复注册脚本
string scriptString=″<script type=\″text/javascript\″src=\″JS/″+p_js_Filename+″.js\″></script>″
    if(!this.IsClientScriptBlockRegistered(″JS″))
    this.RegisterClientScriptBlock(″JS″,scriptString);
    bool p_RequestForm=false;//通过提交获取
    string p_XML_filename=Request.QueryString[″F_XML″].ToString();
    string
PathString=Server.MapPath(″~/NetBill/SD_ListMgr/Xml/″+p_XML_filename+″.xml″);
    if(File.Exists(PathString))
    {
       getbotton(PathString);
       indxexClass myindxexClass=new indxexClass(PathString);
       getindex(myindxexClass,p_XML_filename,p_js_Filename);
       #region获取条件
       string lsFilter=″″;
       TextBox MyText;
       //需要从地址传条件
       for(int i=0;i<myindxexClass.Name.Count;i++)
       {
           if(myindxexClass.QueryString[i].ToString()!=″″)
           {
              if
(Request.QueryString[myindxexClass.QueryString[i].ToString()]!=null)
              {
      MyText=(TextBox)divcondition.FindControl(myindxexClass.ID[i].ToString());
   MyText.Text=Request.QueryString[myindxexClass.QueryString[i].ToString()];
                  if(myindxexClass.FiledName[i].ToString()!=″″)
                     lsFilter+=″and
″+myindxexClass.FiledName[i].ToString()+″=’″+Request.QueryString[myindxexClass.Que
ryString[i].ToString()]+″’″;
               }
           }
        }
        ArrayList p_param=new ArrayList();
        if(Request.Form[″condition″]!=null)
        {
           p_RequestForm=true;
           lsFilter+=Request.Form[″condition″];
           for(int i=0;i<myindxexClass.Name.Count;i++)
           {
               if(Request.Form[myindxexClass.Name[i].ToString()]!=null)
               {
    MyText=(TextBox)divcondition.FindControl(myindxexClass.ID[i].ToString());
                  MyText.Text=Request.Form[myindxexClass.Name[i].ToString()];
               }
           }
   }
      txtcondition.Text=lsFilter;
      #endregion获取条件
      #region获取列表信息
      GridMainClass MyGridMainClass=new GridMainClass();
      GridClass MyGridObject=new GridClass(PathString);
      if((MyGridObject.RequestForm==″0″)||(p_RequestForm==true))
      {
          try
          {
              //合计列处理
              FieldsClass MyFieldsObject=new FieldsClass(PathString);
              for(int i=0;i<MyFieldsObject.FieldName.Count;i++)
              {
                  if(MyFieldsObject.IsSum[i].ToString()==″1″)
                  {
                      p_Fieldindex.Add(i);
                      p_SumVal.Add(0);
    p_DataFormatString.Add(MyFieldsObject.DataFormatString[i].ToString());
                  }
              }
    MyGridMainClass.DGDataBind(MyGridObject,DGlist,lbTitle,txtIndex,PathString,txtc
ondition.Text);
          }
          catch(Exception ex)
          {
              string err;
              if(ex.InnerException!=null)
                 err=ex.Message+ex.InnerException.Message;
              else
                 err=ex.Message;
              err=err.Replace((char)13,”);
              err=err.Replace((char)10,”);
              err=err.Replace(″’″,″″);
              string strpopJsp=@″<script
language=javascript>window.alert(’″+err+″’);window.close();</script>″;
              this.Page.RegisterStartupScript(″Title″,strpopJsp);
              return;
           }
       }
       #endregion获取类表信息
    }
    ……
    ///<summary>
///显示Grid数据
///</summary>
public void DGDataBind(GridClass MyGridObject,DataGrid DGlist,LabellbTitle,TextBox txtIndex,string FileName,string lsFilter)
程序提供的主要的Ajax方法函数:
///<summary>
///执行存储过程无结果返回
///</summary>
///<param name=″sp_SQL″>SP_SETOUTBILL(@参数名1=参数值1,@参数名2=参数值2……)</param>
///<param name=″strSplit″>参数分割符一般为‘,’如果参数中使用‘,’符号,可以自已制定分割参数</param>
///<returns></returns>
public string RunSPbySplit(string sp_SQLs,char strSplit)
///<summary>
///根据SQL返回DataSet
///</summary>
///<param name=″SQL″></param>
///<returns></returns>
public DataSet GetDataSetBySql(string SQL)

Claims (3)

1.一种基于XML和动态脚本文件配置实现的通用数据列表方法,其特征在于,通过Xml文件配置定义列表的索引信息、数据列表信息和业务处理的按钮功能,客户部门调整业务功能如下:
A.索引定义部分如下:
<objectRoot>
<object title=″地区″titlewidth=″25″name=″T_DQ″id=″txtDQ″type=″0″HelpID=″ZWDQZD″HelpNo=″XS99″Filter=″″width=″100″readoniy=″0″QueryString=″″FiledName=″″/>
<object title=″过滤条件″titlewidth=″50″name=″T_Filter″id=″txtFilter″type=″2″HelpID=″″HelpNo=″″Filter=″ZWWLDW″width=″150″readonly=″1″QueryString=″″FiledName=″″/>
</objectRoot>
定义解释如下
title索引标题
titlewidth索引标题宽度
name索引名称
id索引ID
type索引类型0帮助1日期2过滤
HelpID帮助ID
HelpNo帮助序号
Filter帮助的过滤条件
width索引内容宽度
readonly是否只读
QueryString来自地址条件
FiledName来自地址条件对应的字段条件
B.数据列信息定义如下:
<select Title=″部门调整″sql=″select ZWDQZD_DQBH,ZWDQZD_DQMC,KCBMZD_BMBH,KCBMZD_BMMC,YXKHJBB_KHBH,YXKHJBB_KHMC from YXKHJBB left join XSBMKH on(YXKHJBB_KHBH=XSBMKH_DWBH)left join KCBMZD on(KCBMZD_BMBH=XSBMKH_BMBH),ZWDQZD whereYXKHJBB_CSQY=ZWDQZD_DQBH″OrderString=″YXKHJBB_KHBH″Pagsize=″20″>
<Fields title=″选择″FiledName=″″Align=″center″Width=″10″DataFormatString=″″EditFlag=″2″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
<Fields title=″客户编号″FiledName=″YXKHJBB_KHBH″Align=″left″Width=″10″DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
<Fields title=″客户名称″FiledName=″YXKHJBB_KHMC″Align=″left″Width=″30″DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
<Fields title=″地区编号″FiledName=″ZWDQZD_DQBH″Align=″left″Width=″10″DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
<Fields title=″地区名称″FiledName=″ZWDQZD_DQMC″Align=″left″Width=″20″DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
<Fields title=″部门编号″FiledName=″KCBMZD_BMBH″Align=″left″Width=″10″DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
<Fields title=″部门名称″FiledName=″KCBMZD_BMMC″Align=″left″Width=″20″DataFormatString=″″EditFlag=″0″DoKey=″″EJS=″″DefVal=″″IsSum=″0″/>
</select>
定义解释如下
Sql数据源信息
OrderString列表的排序字段
Pagsize列表的页的大小
Title字段标题
FiledName字段名称
Align对齐方式
Width显示的宽度
DataFormatString显示格式
EditFlag 0不可以编辑1可以编辑2选择框3单选框
DoKey事件
EJS事件脚本
DefVal默认值
IsSum是否合计0否1是
C.按钮定义部分为
<bottonRoot>
<botton id=″btn01″name=″全选″title=″全选″EJS=″SetAll(true)″/>
<botton id=″btn02″name=″取消全选″title=″取消全选″EJS=″SetAll(false)″/>
<botton id=″btn01″name=″部门调整″title=″部门调整″EJS=″SetBMBH()″/>
<botton id=″btn02″name=″退出″title=″退出″EJS=″Exit()″/>
</bottonRoot>
定义解释如下
Id按钮的ID
Name按钮名称
Title按钮提示
EJS按钮实行的脚本函数,该脚本函数在脚本文件中定义。
2、根据权利要求1所述的方法,其特征在于功能调用方法为:
SD_List_Mgr.aspx?F_XML=SD_XSBMKH_MAIN&F_JS=SD_XSBMKH_MAIN,
通过页面地址参数动态绑定Xml配置文件和JavaScript脚本文件。
3、根据权利要求1所述的方法,其特征在于,通过不同的Xml定义和不同的JavaScript脚本文件,实现不同的业务列表功能。
CN200910018622A 2009-09-07 2009-09-07 一种基于xml和动态脚本文件配置实现的通用数据列表方法 Pending CN101645075A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910018622A CN101645075A (zh) 2009-09-07 2009-09-07 一种基于xml和动态脚本文件配置实现的通用数据列表方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910018622A CN101645075A (zh) 2009-09-07 2009-09-07 一种基于xml和动态脚本文件配置实现的通用数据列表方法

Publications (1)

Publication Number Publication Date
CN101645075A true CN101645075A (zh) 2010-02-10

Family

ID=41656963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910018622A Pending CN101645075A (zh) 2009-09-07 2009-09-07 一种基于xml和动态脚本文件配置实现的通用数据列表方法

Country Status (1)

Country Link
CN (1) CN101645075A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147726A (zh) * 2011-04-01 2011-08-10 烽火通信科技股份有限公司 一种基于脚本的业务配置实现方法
CN104598454A (zh) * 2013-10-31 2015-05-06 南京思润软件有限公司 一种基于xml的信息搜索方法
CN105205138A (zh) * 2015-09-16 2015-12-30 北京金和网络股份有限公司 移动终端的流程数据处理方法
CN109255089A (zh) * 2018-07-06 2019-01-22 曙光信息产业(北京)有限公司 基于Html的节点数据处理方法以及系统
CN111444682A (zh) * 2020-05-06 2020-07-24 南京大学 一种系统动力学模型转换为xml文件的方法
CN112131846A (zh) * 2020-09-07 2020-12-25 北京思特奇信息技术股份有限公司 一种基于映射关系进行传参的方法及系统、电子装置、存储介质
CN112131846B (zh) * 2020-09-07 2024-06-04 北京思特奇信息技术股份有限公司 一种基于映射关系进行传参的方法及系统、电子装置、存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147726A (zh) * 2011-04-01 2011-08-10 烽火通信科技股份有限公司 一种基于脚本的业务配置实现方法
CN102147726B (zh) * 2011-04-01 2013-09-04 烽火通信科技股份有限公司 一种基于脚本的业务配置实现方法
CN104598454A (zh) * 2013-10-31 2015-05-06 南京思润软件有限公司 一种基于xml的信息搜索方法
CN105205138A (zh) * 2015-09-16 2015-12-30 北京金和网络股份有限公司 移动终端的流程数据处理方法
CN109255089A (zh) * 2018-07-06 2019-01-22 曙光信息产业(北京)有限公司 基于Html的节点数据处理方法以及系统
CN109255089B (zh) * 2018-07-06 2022-03-11 曙光信息产业(北京)有限公司 基于Html的节点数据处理方法以及系统
CN111444682A (zh) * 2020-05-06 2020-07-24 南京大学 一种系统动力学模型转换为xml文件的方法
CN111444682B (zh) * 2020-05-06 2022-04-22 南京大学 一种系统动力学模型转换为xml文件的方法
CN112131846A (zh) * 2020-09-07 2020-12-25 北京思特奇信息技术股份有限公司 一种基于映射关系进行传参的方法及系统、电子装置、存储介质
CN112131846B (zh) * 2020-09-07 2024-06-04 北京思特奇信息技术股份有限公司 一种基于映射关系进行传参的方法及系统、电子装置、存储介质

Similar Documents

Publication Publication Date Title
Huff et al. Decomposing welfare changes in GTAP
RU2421797C2 (ru) Указание, задание и обнаружение параметров документов электронных таблиц
US8413061B2 (en) Synchronous to asynchronous web page conversion
US8239226B2 (en) Methods and apparatus for combining properties and methods from a plurality of different data sources
CN102810057A (zh) 一种记录日志的方法
US20070038702A1 (en) Communications data management
Martin et al. Cataloging e-books and vendor records
US20170053329A1 (en) Systems and methods for providing vendor management and custom profiles
CN101645075A (zh) 一种基于xml和动态脚本文件配置实现的通用数据列表方法
US20140095390A1 (en) Mobile transaction approvals
Amirapu et al. Geographic concentration in Indian manufacturing and service industries: Evidence from 1998 to 2013
US8775367B2 (en) Enterprise data as office content
US20070136358A1 (en) Methods and apparatus for storing data associated with an electronic form
US20100293182A1 (en) Method and apparatus for viewing documents in a database
Phillips et al. Six steps to XBRL
US9286567B1 (en) Systems, methods and articles for providing support information for a software application
US20140278922A1 (en) Consistent Interface for Campaign Business Object
US20130163028A1 (en) Accessing current data by using code images
US20170186092A1 (en) System and method for providing offline framework for business support
Kumar Adempiere 3.6 Cookbook
US20070136367A1 (en) Methods and apparatus for dynamically modifying a business object definition
Han et al. Integration technology of literature contents based on SaaS
Stiglitz et al. Price neutral tax reform with an informal economy
Faderman et al. Oracle JDeveloper 10g Handbook
Jennings Microsoft Access 2010 in depth

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100210