使用XSL实现在客户端的排序操作
2005-02-17 09:19
501 查看
现在有WEB程序大多都有很多排序及分页的功能。每次进行这些操作的时候,我们都要到服务器去一次数据。这里我使用XSL+XML的方式来演示一下,只从服务器取一次数据,缓存在客户端,然后客户端可以进行自己想要的操作。
//这个文件的主要功能是从数据库里取出数据。然后转换成XML,传到客户端
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Xml;
namespace c3
{
/// <summary>
/// WebForm9 的摘要说明。
/// </summary>
public class WebForm9 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection cn=new SqlConnection();
cn.ConnectionString="server=.;uid=sa;pwd=;database=northwind";
cn.Open();
SqlCommand cmd=new SqlCommand();
cmd.Connection=cn;
cmd.CommandText="select EmployeeID,LastName,Title,BirthDate from employees";
DataSet ds=new DataSet("Emps");
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
da.Fill(ds,"Emp");
cn.Close();
Response.Clear();
this.Response.ContentType="text/xml";
// this.Response.ContentEncoding="gb2312";
this.Response.Write("<?xml version='1.0' encoding='gb2312'?>");
this.Response.Write(ds.GetXml());
Response.End();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
//此文件的主要功能是从服务器取得数据。然后动态生成XSL实现排序。
<%@ Page language="c#" Codebehind="WebForm8.aspx.cs" AutoEventWireup="false" Inherits="c3.WebForm8" %>
WebForm8
function GetXMLData(){
if(dbXML.readyState=='complete'){
SortXML("EmployeeID","number")
}
}
function SortXML(k,t)
{
var srcXml=dbXML.XMLDocument
var xslXml=xslSrc.XMLDocument
var order=xslXml.selectSingleNode("//xsl:sort/@select")
//查看是否是同一列进行排序
if(order.value==k)
{
if(xslXml.selectSingleNode("//xsl:sort/@order").value=="ascending")
{
xslXml.selectSingleNode("//xsl:sort/@order").value="descending"
xslXml.selectSingleNode("//xsl:sort/@data-type").value=t
}
else
{
xslXml.selectSingleNode("//xsl:sort/@order").value="ascending"
xslXml.selectSingleNode("//xsl:sort/@data-type").value=t
}
}
else
{
order.value=k
xslXml.selectSingleNode("//xsl:sort/@order").value="ascending"
xslXml.selectSingleNode("//xsl:sort/@data-type").value=t
}
div1.innerHTML=(srcXml.transformNode(xslXml))
}
s
//这个文件的主要功能是从数据库里取出数据。然后转换成XML,传到客户端
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Xml;
namespace c3
{
/// <summary>
/// WebForm9 的摘要说明。
/// </summary>
public class WebForm9 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection cn=new SqlConnection();
cn.ConnectionString="server=.;uid=sa;pwd=;database=northwind";
cn.Open();
SqlCommand cmd=new SqlCommand();
cmd.Connection=cn;
cmd.CommandText="select EmployeeID,LastName,Title,BirthDate from employees";
DataSet ds=new DataSet("Emps");
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
da.Fill(ds,"Emp");
cn.Close();
Response.Clear();
this.Response.ContentType="text/xml";
// this.Response.ContentEncoding="gb2312";
this.Response.Write("<?xml version='1.0' encoding='gb2312'?>");
this.Response.Write(ds.GetXml());
Response.End();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
//此文件的主要功能是从服务器取得数据。然后动态生成XSL实现排序。
<%@ Page language="c#" Codebehind="WebForm8.aspx.cs" AutoEventWireup="false" Inherits="c3.WebForm8" %>
WebForm8
function GetXMLData(){
if(dbXML.readyState=='complete'){
SortXML("EmployeeID","number")
}
}
function SortXML(k,t)
{
var srcXml=dbXML.XMLDocument
var xslXml=xslSrc.XMLDocument
var order=xslXml.selectSingleNode("//xsl:sort/@select")
//查看是否是同一列进行排序
if(order.value==k)
{
if(xslXml.selectSingleNode("//xsl:sort/@order").value=="ascending")
{
xslXml.selectSingleNode("//xsl:sort/@order").value="descending"
xslXml.selectSingleNode("//xsl:sort/@data-type").value=t
}
else
{
xslXml.selectSingleNode("//xsl:sort/@order").value="ascending"
xslXml.selectSingleNode("//xsl:sort/@data-type").value=t
}
}
else
{
order.value=k
xslXml.selectSingleNode("//xsl:sort/@order").value="ascending"
xslXml.selectSingleNode("//xsl:sort/@data-type").value=t
}
div1.innerHTML=(srcXml.transformNode(xslXml))
}
s
员工号 | 姓名 | 职务 | 生日 |
---|---|---|---|
相关文章推荐
- 使用XSL实现在客户端的排序操作
- 使用sortable插件实现列表中表项的拖曳排序操作8-3
- 使用sortable插件实现列表中表项的拖曳排序操作8-3
- 使用ASP.NET Atlas SortBehavior实现客户端排序
- 使用javascript操作多选列表框,实现动态增加删除,左右移动,上下排序移动等功能。
- 仅使用基本的表操作实现两个排序后的表L1和L2的并集
- 使用bootstraptable插件实现表格记录的查询、分页、排序操作
- ViewPager使用FragmentPagerAdapter加载多个fragment,实现对已加载的list做插入、删除及排序操作
- 使用ASP.NET Atlas SortBehavior实现客户端排序
- svn与git区别简介,git分支操作在mac客户端soureTree和使用命令行如何实现
- 第5章分布式系统模式 使用客户端激活对象通过 .NET Remoting 实现 Broker
- 使用表达式树+反射实现简易ORM对象映射操作
- 使用jquery实现IE下按backspace相当于返回操作
- Android 使用Socket实现服务器与手机客户端的长连接二:多Client对一Server聊天
- 使用循环CAS实现原子操作
- python数据结构学习笔记-2016-10-24-02-使用排序列表实现集合ADT
- JS学习笔记1——不要使用JavaScript内置的parseInt()和Number()函数,利用map和reduce操作实现一个string2int()函数
- 使用Spark core和SparkSQL的窗口函数分别实现分组取topN的操作
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- js实现表格操作-排序