FinancialHelper

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net;
using System.IO;
using System.Collections.Generic;
using System.Text.RegularExpressions;

public class DataReader
{
    
"GetRequiredData"

    
"Constructor"

    
"FindMatches"

    
"Properties"

    
"Parse"
}

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            DataReader dr 
= new DataReader();
            dr.Parse();
            gvData.DataSource 
= dr.Data;
            gvData.DataBind();
            ViewState[
"Data"= dr.Data;
        }

        
else
        
{
            gvData.DataSource 
= ViewState["Data"as DataTable;
            gvData.DataBind();
        }

    }

    
private string GridViewSortDirection
    
{
        
get return ViewState["SortDirection"as string ?? "ASC"; }
        
set { ViewState["SortDirection"= value; }
    }

    
private string ChangeSortDirection()
    
{
        
switch (GridViewSortDirection)
        
{
            
case "ASC":
                GridViewSortDirection 
= "DESC";
                
break;
            
case "DESC":
                GridViewSortDirection 
= "";
                
break;
            
default:
                GridViewSortDirection 
= "ASC";
                
break;
        }

        
return GridViewSortDirection;
    }

    
private string GridViewSortExpression
    
{
        
get return ViewState["SortExpression"as string ?? string.Empty; }
        
set { ViewState["SortExpression"= value; }
    }

    
protected void gvData_Sorting(object sender, GridViewSortEventArgs e)
    
{
        GridViewSortExpression 
= e.SortExpression;
        
int pageIndex = gvData.PageIndex;
        gvData.DataSource 
= SortDataTable(gvData.DataSource as DataTable, false);
        gvData.DataBind();
        gvData.PageIndex 
= pageIndex;
    }

    
protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
    
{
        gvData.DataSource 
= SortDataTable(gvData.DataSource as DataTable, true);
        gvData.PageIndex 
= e.NewPageIndex;
        gvData.DataBind();
    }

    
protected DataView SortDataTable(DataTable dataTable, bool isPageIndexChanging)
    
{
        
if (dataTable != null)
        
{
            DataView dataView 
= new DataView(dataTable);
            
if (GridViewSortExpression != string.Empty)
            
{
                
if (isPageIndexChanging)
                
{
                    dataView.Sort 
= string.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection);
                }

                
else
                
{
                    dataView.Sort 
= string.Format("{0} {1}", GridViewSortExpression, GetSortDirection());
                }

            }

            
return dataView;
        }

        
else
        
{
            
return new DataView();
        }

    }

    
private string GetSortDirection()
    
{
        
switch (GridViewSortDirection)
        
{
            
case "ASC":
                GridViewSortDirection 
= "DESC";
                
break;
            
case "DESC":
                GridViewSortDirection 
= "ASC";
                
break;
        }

        
return GridViewSortDirection;
    }

}

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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">
<head runat="server">
    
<title>Untitled Page</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:GridView ID="gvData" AutoGenerateColumns="true" AllowPaging="true" PageSize="20"
            AllowSorting
="true" runat="server" 
            onpageindexchanging
="gvData_PageIndexChanging" onsorting="gvData_Sorting">
            
<PagerSettings Mode="NumericFirstLast" />
        
</asp:GridView>
    
</div>
    
</form>
</body>
</html>
posted @ 2008-07-22 13:37  N/A2011  阅读(315)  评论(0编辑  收藏  举报