快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

datagrid的正反双向排序

在asp.net中利用datagrid控件按列进行排序很是方便。可是我们只能单项排序!假如我们需要正反排序那么就需要加入一些代码控制一下,下面我来具体讲解一下这个过程。

首先我们需要将datagird控件的属性设置为 AllowSorting="True",且需要排序列需要制定排序表达式 eg: SortExpression="kmdm"。设置好这些,我们进入代码文件,来编写响应排序的事件.

首先在Page_Load时间中加入如下代码:

if (!IsPostBack)
{
if(this.kjkm_dg.Attributes["SortExpression"]==null) //这里kjkm_dg为datagrid ID
{
this.kjkm_dg.Attributes["SortExpression"]="kmdm"; //这里给datagrid增加一个排序属性,且默认排序表达式为kmdm;
kjkm_dg.Attributes["SortDirection"]="ASC"; //这里给datagrid增加一个排序方向属性,且默认为升序排列;
}
mikecatbind(); //绑定函数,下面介绍
}

protected void mikecatbind()
{
string sqlStr="select * from zc_kjkm";
DataView dv=new DataView();

string SortExpression=kjkm_dg.Attributes["SortExpression"];
string SortDirection=kjkm_dg.Attributes["SortDirection"];
dv=us.Bind(sqlStr).Tables[0].DefaultView; //来自web service的dataset,这里随便一个ds就可以;
dv.Sort=SortExpression+" "+SortDirection; //指定视图的排序方法;
kjkm_dg.DataSource=dv; //指定数据源
kjkm_dg.DataBind(); //数据绑定

}

进行完上面的设置后我们进入重要的环节,排序事件的编写:

private void kjkm_dg_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
string SortExpression=e.SortExpression.ToString(); //获得当前排序表达式
string SortDirection="ASC"; //为排序方向变量赋初值
if(SortExpression==kjkm_dg.Attributes["SortExpression"]) //假如为当前排序列
{
SortDirection=(kjkm_dg.Attributes["SortDirection"].ToString()==SortDirection?"DESC":"ASC"); //获得下一次的排序状态

}
kjkm_dg.Attributes["SortExpression"]=SortExpression;
kjkm_dg.Attributes["SortDirection"]=SortDirection;
mikecatbind();
}



好了,试试看看是不是可以进行正倒序排列啦。




返回类别: 教程
上一教程: 如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题)
下一教程: 未找到路径“D:/”的一部分 的问题解决

您可以阅读与"datagrid的正反双向排序"相关的教程:
· datagrid的正反双向排序
· DataGrid同时具有分页和排序功能及注重点
· 鼠标移动,改变datagrid颜色
· DataGrid脚眉显示合计
· 使DATAGRID中的日期按长日期格式显示
    微笑服务 优质保证 索取样品