﻿function DataList(ModuleRoot,ResultDataRoot,PageNo)
{
	
	try
	{
		var TableStr="";

		var DataSourceRoot=ModuleRoot.selectSingleNode("DataSource");
		var ListRoot=ModuleRoot.selectSingleNode("DataShow");

		var TableSet=ListRoot.selectSingleNode("TableSet");
		var RowSet=ListRoot.selectSingleNode("RowSet");
		var RowItem=RowSet.selectSingleNode("RowItem");
		var FooterItem=RowSet.selectSingleNode("FooterItem");
		var Cols=RowSet.getAttribute("Cols");
		var DataItem=ListRoot.selectSingleNode("DataItem");
		var RowCount;

		var DataCol=ResultDataRoot.selectNodes("DataCol");
		var DataStr="";
		var reg;

		if(typeof(PageNo)=="undefined")
			PageNo=1;

		TableStr="<table";
		for(var i=0;i<TableSet.attributes.length;i++)
			TableStr=TableStr+" "+TableSet.attributes[i].name+"='"+TableSet.attributes[i].text+"'";
		TableStr=TableStr+">";

		if(parseInt(DataCol.length/Cols)==DataCol.length/Cols)
			RowCount=DataCol.length/Cols;
		else
			RowCount=parseInt(DataCol.length/Cols)+1;

		for(var i=0;i<RowCount;i++)
		{
			TableStr=TableStr+"<tr";
			for(var j=0;j<RowItem.attributes.length;j++)
				TableStr=TableStr+" "+RowItem.attributes[j].name+"='"+RowItem.attributes[j].text+"'";
			TableStr=TableStr+">";

			for(var j=i*Cols;j<(i+1)*Cols;j++)
			{
				if(j==DataCol.length)
					break;
				TableStr=TableStr+"<td width='"+(100/Cols)+"%'";

				DataStr=DataItem.xml;

				for(var k=0;k<DataCol[j].attributes.length;k++)
				{
					reg=new RegExp("{#"+DataCol[j].attributes[k].name+"}","gi");

					DataStr=DataStr.replace(reg,DataCol[j].attributes[k].text);
				}
				reg=new RegExp("{#CountList}","gi");
				DataStr=DataStr.replace(reg,j);

				TableStr=TableStr+">"+DataStr;

				TableStr=TableStr+"</td>";
			}

			if(j==DataCol.length)
				for(var k=j;k<(i+1)*Cols;k++)
					TableStr=TableStr+"<td>&nbsp;</td>";
			TableStr=TableStr+"</tr>";
		}

		if(RowSet.getAttribute("FooterShow")=="true")
		{
			if(PageXml.documentElement==null)
				DataPageSet();
			PageStr=DataPage(PageXml.documentElement,ResultDataRoot.getAttribute("ItemCount"),PageNo,DataSourceRoot.getAttribute("PageSize"),ListRoot.getAttribute("PageStyle"))
			TableStr=TableStr+"<tr ";
			for(var i=0;i<FooterItem.attributes.length;i++)
				TableStr=TableStr+" "+FooterItem.attributes[i].name+"='"+FooterItem.attributes[i].text+"'";
			TableStr=TableStr+">";
			TableStr=TableStr+"<td colspan='"+Cols+"'>";
			TableStr=TableStr+PageStr;
			TableStr=TableStr+"</td>";
			TableStr=TableStr+"</tr>";
		}

		TableStr=TableStr+"</table>";
		TableStr=TableStr.replace("&amp;nbsp;","&nbsp;");

		return TableStr;
	}
	catch(ep)
	{
		alert("错误号：#000002\n"+ep.message)
	}
}