client code:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JSTransferXml.aspx.cs" Inherits="JSTransferXml" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>this page creates table by java script</title>
<script type="text/javascript">
var sortparamforPKID;
var sortparamforUserName;
var sortparamforUserPwd;
function GenerateXML(xmlstr)
{
var sortparamforPKID = "-";
var sortparamforUserName = "-";
var sortparamforUserPwd = "-";
USERxml.async = false;
USERxml.loadXML(xmlstr);
do
{}
while(USERxml.XMLDocument.readyState != 4)
if (USERxml.XMLDocument.parseError != 0)
{
alert(USERxml.XMLDocument.parseError.reason);
}
sortXSLT(1);
}
function DisplayDatafromXML()
{
var maxcount;
var xmlcount;
var xmldata;
var strhtml;
xmlcount = 1;
maxcount = USERtransfer.childNodes.item(0).childNodes.length;
//generate html to display data
strhtml = '<TABLE id="tblUserList" name="tblUserList" CELLPADDING="1" CELLSPACING="1" WIDTH="750px">';
strhtml += '<TH width="100px" bgcolor="RoyalBlue" align="center" style="cursor:hand" οnclick="sortXSLT(1)"><FONT color="white"><u>PKID</u> </FONT></TH>';
strhtml += '<TH width="220px" bgcolor="RoyalBlue" align="center" style="cursor:hand" οnclick="sortXSLT(2)"><FONT color="white"><u>User Name</u> </FONT></TH>';
strhtml += '<TH width="110px" bgcolor="RoyalBlue" align="center" style="cursor:hand" οnclick="sortXSLT(3)"><FONT color="white"><u>User Pwd</u> </FONT></TH>';
while(xmlcount <= maxcount)
{
xmldata = USERtransfer.childNodes.item(0).childNodes.item(xmlcount-1);
strhtml += '<TR>';
strhtml += '<TD width="220px" align=left >' +xmldata.childNodes.item(0).text + '</TD>';
strhtml += '<TD width="110px" align=left >' + xmldata.childNodes.item(1).text + '</TD>';
strhtml += '<TD width="220px" align=left >' + xmldata.childNodes.item(2).text + '</TD>';
strhtml += '</TR>';
xmlcount = xmlcount + 1;
}
strhtml += '</TABLE>';
document.getElementById("plnuserList").innerHTML=strhtml
}
function sortXSLT(colid)
{
var strxml;
var order;
var xmlstore;
var counter;
var strLicenseNo;
var strComments;
var chkname;
var sortPFPKID;
var sortPFUserName;
var sortPFUserPwd;
sortPFPKID = sortparamforPKID;
sortPFUserName = sortparamforUserName;
sortPFUserPwd = sortparamforUserPwd;
if (colid == '1' )
{
order = sortPFPKID + 'PKID';
sortPFPKID = ChangeSign(sortPFPKID);
}
if (colid == '2' )
{
order = sortPFUserName + 'UserName';
sortPFUserName=ChangeSign(sortPFUserName);
}
if (colid == '3' )
{
order = sortPFUserPwd + 'UserPwd';
sortPFUserPwd=ChangeSign(sortPFUserPwd);
}
sortparamforPKID=sortPFPKID;
sortparamforUserName=sortPFUserName;
sortparamforUserPwd=sortPFUserPwd;
sortField.value = order;
strxml = USERxml.transformNode(USERxslt.documentElement);
USERtransfer.async = false;
USERtransfer.loadXML(strxml);
do
{}
while( USERtransfer.XMLDocument.readyState != 4)
if (USERtransfer.XMLDocument.parseError != 0 )
{
alert(RMAtransfer.XMLDocument.parseError.reason);
}
DisplayDatafromXML();
}
function ChangeSign(paramtype)
{
if (paramtype == '+')
{
paramtype = '-';
}
else
{
paramtype = '+';
}
return paramtype;
}
function window_onload()
{
//set sortfield for each xml data island
sortField = USERxslt.XMLDocument.selectSingleNode("//@order-by");
GenerateXML("<%=sXML%>");
}
</script>
</head>
<body οnlοad="return window_onload();">
<xml id="USERxml"></xml>
<xml id="USERxslt">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<!-- Identity transformation template -->
<xsl:template>
<xsl:copy>
<xsl:apply-templates select="@* | * | comment() | pi() | text()"/>
</xsl:copy>
</xsl:template>
<!-- Sort stocks by price -->
<xsl:template match="UserList">
<xsl:copy>
<xsl:apply-templates select="User" order-by="PKID"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
</xml>
<xml id="USERtransfer"></xml>
<form id="formlayout" runat="server" method=post>
<div id="content" style="text-align:center;">
<table>
<tr>
<td>
<asp:Label runat=server>this is user list</asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Panel ID="plnuserList" runat=server></asp:Panel>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
/
code behind :
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class JSTransferXml : System.Web.UI.Page
{
//public string sXML;
public string sXML = "<UserList xmlns:dt='urn:schemas-microsoft-com:datatypes' xml:space='preserve'></UserList>";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//sXML = GetUserList();
GenerateData();
}
}
//public string GetUserList()
//{
// CommonClass CC = new CommonClass();
// DataSet DS = CC.getUserList();
// if (DS.Tables["UserList"] != null && DS.Tables["UserList"].Rows.Count > 0)
// {
// System.Text.StringBuilder sbUserList = new System.Text.StringBuilder();
// sbUserList.Append("<DataSource>");
// for (int i = 0; i < DS.Tables["UserList"].Rows.Count; i++)
// {
// sbUserList.Append("<UserList>");
// sbUserList.Append("<PKID>");
// if (DS.Tables["UserList"].Rows[i]["PKID"] != null)
// {
// sbUserList.Append(DS.Tables["UserList"].Rows[i]["PKID"].ToString());
// }
// sbUserList.Append("</PKID>");
// sbUserList.Append("<UserName>");
// if (DS.Tables["UserList"].Rows[i]["UserName"] != null)
// {
// sbUserList.Append(DS.Tables["UserList"].Rows[i]["UserName"].ToString());
// }
// sbUserList.Append("</UserName>");
// sbUserList.Append("<UserPwd>");
// if (DS.Tables["UserList"].Rows[i]["UserPwd"] != null)
// {
// sbUserList.Append(DS.Tables["UserList"].Rows[i]["UserPwd"].ToString());
// }
// sbUserList.Append("</UserPwd>");
// sbUserList.Append("</UserList>");
// }
// sbUserList.Append("</DataSource>");
// return sbUserList.ToString();
// }
// else
// {
// return "";
// }
//}
public string GenerateData()
{
CommonClass CC = new CommonClass();
DataSet ds = CC.getUserList();
StringBuilder sbxmlstr;
//display List page
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
sbxmlstr = new StringBuilder("<UserList>");
foreach (DataRow drTemp in ds.Tables[0].Rows)
{
sbxmlstr.Append("<User>");
sbxmlstr.Append("<PKID>" + drTemp["PKID"].ToString() + "</PKID>");
sbxmlstr.Append("<UserName>" + drTemp["UserName"].ToString() + "</UserName>");
sbxmlstr.Append("<UserPwd>" + drTemp["UserPwd"].ToString() + "</UserPwd>");
sbxmlstr.Append("</User>");
}
sbxmlstr.Append("</UserList>");
sXML = sbxmlstr.ToString();
}
if (sXML == null || sXML.Length == 0)
{
sXML = "<RMAs></RMAs>";
}
return sXML;
}
}