DataGrid双向排序

原创 2006年05月18日 10:52:00

<HTML>相关脚本

<asp:datagrid id="dgd" runat="server" DataKeyField="Id" CellPadding="0" BorderColor="#BAC9DC"
                    AutoGenerateColumns="False" Width="100%" AllowSorting="True">
                    <AlternatingItemStyle CssClass="AlternatingItem"></AlternatingItemStyle>
                    <ItemStyle CssClass="item"></ItemStyle>
                    <HeaderStyle CssClass="header"></HeaderStyle>
                    <Columns>
                     <asp:BoundColumn DataField="Id" SortExpression="Id" HeaderStyle-ForeColor="#000000" HeaderText="编号"></asp:BoundColumn>
                     <asp:BoundColumn DataField="Name" SortExpression="Name" HeaderStyle-ForeColor="#000000" HeaderText="名称"></asp:BoundColumn>

                        </Columns>
                   </asp:datagrid>

 

 

.cs代码

// 在此处放置用户代码以初始化页面
   if( !this.IsPostBack)
   {
    if(this.dgd.Attributes["SortExpression"]==null) //这里dgd为datagrid   ID
    {
     this.dgd.Attributes["SortExpression"]="Id";  //这里给datagrid增加一个排序属性,且默认排序表达式;
     dgd.Attributes["SortDirection"]="ASC"; //这里给datagrid增加一个排序方向属性,且默认为升序排列;
    } 
    
    this.Query();    
   }

 

#region 查询并并绑定数据。  
  private void InternalQuery()
  { 
   //设定导入的起终地址   
   int startIndex = this.CurrentPageIndex * this.PageSize;
   try
   {     
    //初始化所建表的SQL语句

    string strSel = "SELECT  ID,Name  FROM  XTABLE    " ;
    DataSet ds = new DataSet();    
    SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,conn);
    MyAdapter.Fill(ds,startIndex,PageSize,"XTABLE"); 
    
    
    DataView dv=new DataView();
    string SortExpression=dgd.Attributes["SortExpression"];
    string SortDirection=dgd.Attributes["SortDirection"];
    dv=ds.Tables["loyor"].DefaultView;    //来自web service的dataset,这里随便一个ds就可以;
    dv.Sort=SortExpression+" "+SortDirection; //指定视图的排序方式;
    dgd.DataSource=dv; //指定数据源
    conn.Close();         
   }
   catch(Exception exc)
   {
    string s = exc.ToString();
   }
   
   this.dgd.DataBind();  
  }

排序

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

   }
   dgd.Attributes["SortExpression"]=SortExpression;
   dgd.Attributes["SortDirection"]=SortDirection;
   this.InternalQuery();
  }   

以上可以实现点击datagrid的标题栏任一列,实现双向排序

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

datagrid排序_选择_分页

flex DataGrid按数字顺序,字母,日期顺序排序

flex默认的排序只支持string和numer两种排序,从数据库中读出数据到flex前段,很多时候本来是Number类型转化为了String类型,因此排序就乱了。写了个方法在点击列头上的排序按钮的时...

EasyUI Datagrid 前端按数字排序(自定义排序)

EasyUI Datagrid 前端排序默认采用字符串排序(String类型)。有时候,我们为了让Datagrid里显示的数字精确到一定位数,会将数据转换为字符串传到前台。 例如我们规定价格都精确到...

dataGrid中文排序

  • 2013-04-25 11:00
  • 50KB
  • 下载

java前端easyui中datagrid表格点击表头排序

easyui客户端排序不正确,引用服务端进行排序。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)