CN101645075A - 一种基于xml和动态脚本文件配置实现的通用数据列表方法 - Google Patents
一种基于xml和动态脚本文件配置实现的通用数据列表方法 Download PDFInfo
- 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
Links
- 238000013515 script Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000002156 mixing Methods 0.000 abstract description 2
- 240000008121 Tridax procumbens Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于XML和动态脚本文件配置实现的通用数据列表方法,该方法可以使用户方便的制定各种业务数据列表信息,并可以通过后台定义的数据存储过程对选中的单据进行业务处理。采用XML配置文件实现数据列表的索引和数据列表字段定义,通过动态的脚本文件实现数据列表的界面操作处理,通过Ajax方式对选择的数据列表信息进行业务数据处理。通过不同的Xml定义和不同的JavaScript脚本文件,可以实现不同的业务列表功能,包括列表组合使用或单据分解。本发明的具有功能和有益效果是:1)解决了传统方式下数据列表实现的编码方式,大大提高开发部署速度;2)合并解决了业务数据批量处理和逐一处理的需求问题;3)完善的解决了基于浏览器的地址参数与表单提交的混合处理问题。
Description
技术领域
本发明涉及一种计算机应用技术,是面向非专业或专业技术终端操作人员使用的,可以迅速高效进行业务数据列表功能实现的一项技术。
背景技术
目前在企业的日常业务中,需要对各种业务数据进行批量处理或数据之间进行勾兑关系,例如:回款与发票之间的核销操作,单据的批量打印审批,批量客户的部门业务人员的关系调整等等。现有技术在实际应用过程中存在不足是:
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脚本文件,实现不同的业务列表功能。
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)
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 | 北京思特奇信息技术股份有限公司 | 一种基于映射关系进行传参的方法及系统、电子装置、存储介质 |
-
2009
- 2009-09-07 CN CN200910018622A patent/CN101645075A/zh active Pending
Cited By (10)
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 |