Repeater排序--DataSet(方法一)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Repeater排序--DataSet(方法一)

Repeater排序--DataSet(方法一)

 2010/12/28 8:16:13  fhuan123  http://fhuan123.javaeye.com  我要评论(0)
  • 摘要:default.aspx<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="RepeaterDemoTest._Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><
  • 标签:方法 Repeater DataSet ASE

default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RepeaterDemoTest._Default" %>

<!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">
<%@ Import Namespace="TestViewStateDemo.fh" %>
<head id="Head1" runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">
    <table width="100%" border="1" bordercolor="#330033" bordercolordark="#999933" bordercolorlight="black">
        <tr width="100%">
            <td colspan="20" align="center">
                <font color="blue" size="12">Repeater实现双向排序功能</font>
            </td>
        </tr>
        <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="CompareTestEntity">
            <HeaderTemplate>
                <tr>
                    <td align="center" class="cssStrong">
                        <asp:LinkButton ID="RegionSalesManID" runat="server" 
                        Text="区域销售主任代码" CommandName="RegionSalesManID"></asp:LinkButton>
                    </td>
                    <td class="cssStrong">
                        <asp:LinkButton ID="AreaCode" runat="server" 
                        Text="地区代码" CommandName="AreaCode"></asp:LinkButton>
                    </td>
                    <td class="cssStrong">
                        <asp:LinkButton ID="AreaName" runat="server" 
                        Text="地区名称" CommandName="AreaName"></asp:LinkButton>
                    </td>
                    <td class="cssStrong">
                        <asp:LinkButton ID="AreaSalesManID" runat="server" 
                        Text="地区销售主任代码" CommandName="AreaSalesManID"></asp:LinkButton>
                    </td>
                </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <%# ((System.Data.DataRowView)Container.DataItem)["RegionSalesManID"]%>
                    </td>
                    <td>
                        <%# ((System.Data.DataRowView)Container.DataItem)["AreaCode"]%>
                    </td>
                    <td>
                        <%# ((System.Data.DataRowView)Container.DataItem)["AreaName"]%>
                    </td>
                    <td>
                        <%# ((System.Data.DataRowView)Container.DataItem)["AreaSalesManID"]%>
                    </td>
                </tr>
            </ItemTemplate>
            
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
    </form>
</body>
</html>

?

default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Collections;
using System.Data.SqlClient;
using TestViewStateDemo.fh;
using System.Reflection;
namespace RepeaterDemoTest
{
    public partial class _Default : System.Web.UI.Page
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindRepeater();
            }
        }

        private DataView GetData
        {
            get
            {
                return Cache["_data"] as DataView;
            }
            set
            {
                if (Cache["_data"] == null)
                    Cache["_data"] = value;
            }
        }

        private void BindRepeater()
        {
            DataTable dt = new DataTable("test");
            DataColumn dc1 = new DataColumn("RegionSalesManID", typeof(System.String));
            DataColumn dc2 = new DataColumn("AreaCode", typeof(System.String));
            DataColumn dc3 = new DataColumn("AreaName", typeof(System.String));
            DataColumn dc4 = new DataColumn("AreaSalesManID", typeof(System.String));

            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            dt.Columns.Add(dc3);
            dt.Columns.Add(dc4);

            DataRow dr1 = dt.NewRow();
            dr1["RegionSalesManID"] = "aabbcc123";
            dr1["AreaCode"] = "abc123";
            dr1["AreaName"] = "FENGHUAN1";
            dr1["AreaSalesManID"] = "ABC123";
            dt.Rows.Add(dr1);

            DataRow dr2 = dt.NewRow();
            dr2["RegionSalesManID"] = "aabbcc124";
            dr2["AreaCode"] = "abc124";
            dr2["AreaName"] = "FENGHUAN2";
            dr2["AreaSalesManID"] = "ABC124";
            dt.Rows.Add(dr2);

            DataRow dr3 = dt.NewRow();
            dr3["RegionSalesManID"] = "aabbcc125";
            dr3["AreaCode"] = "abc125";
            dr3["AreaName"] = "FENGHUAN3";
            dr3["AreaSalesManID"] = "ABC125";
            dt.Rows.Add(dr3);

            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            GetData = ds.Tables[0].DefaultView;
            Repeater1.DataSource = ds;
            Repeater1.DataBind();

            
            
        }



        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            
            
            if (e.Item.ItemType == ListItemType.Header)
            {
                if (ViewState[e.CommandName.Trim()] == null)
                {
                    ViewState[e.CommandName.Trim()] = "ASC";
                }
                else
                {
                    if (ViewState[e.CommandName.Trim()].ToString().Trim() == "ASC")
                    {
                        ViewState[e.CommandName.Trim()] = "DESC";
                    }
                    else
                    {
                        ViewState[e.CommandName.Trim()] = "ASC";
                    }
                }
                
                DataView dv = GetData;
                dv.Sort = e.CommandName.ToString().Trim() + " " + ViewState[e.CommandName.Trim()].ToString().Trim();
                Repeater1.DataSource = dv;
                Repeater1.DataBind();
            }
        }  
    }
}

?

发表评论
用户名: 匿名