GRIDVIEW排序的方法

如果是在前台写数据源的话,例如:
<asp:ObjectDataSource ID="objDataSourceSgridView" runat="server"   TypeName=" 。。。"
    SelectMethod="GetMethodAll">
</asp:ObjectDataSource>
就可以这样写:
  protected void sgvw_Sorting(object sender, GridViewSortEventArgs e)
    {
        DataTable sortDataTable = sgvw.DataSource as DataTable;
        if (sortDataTable != null)
        {
            DataView sortDataView = new DataView(sortDataTable);
            sortDataView.Sort = e.SortExpression + "" + ConvertSortDirection(e.SortDirection);
            sgvw.DataSource=sortDataView;
            sgvw.DataBind();
        }

    }
//改变排序方向
    private string ConvertSortDirection(SortDirection Direction)
    {
        string a_SortDirection = string.Empty;
        switch (Direction)
        {
            case SortDirection.Ascending:
                a_SortDirection = "ASC";
                break;
            case SortDirection.Descending:
                a_SortDirection = "DESC";
                break;
        }
        return a_SortDirection;
    }

但是如果在后台绑定数据源的话,这个事件就不能触发,怎么办呢?可以用另一个事件:

 protected void sgvw_NoSourceControlSorting(object sender, Suzsoft.Web.UI.EventArg.SGridViewSortEventArgs e)
    {
        DataSet ds = new DataSet();
        DataSet dsNew = new DataSet();

        ds = (DataSet)ViewState["ds"];
        if (ds != null)
        {
            dsNew = PermissionControl.DataSetFilter(base.Login_UserID, " ", ds);//信息过滤
        }
        if (dsNew != null && dsNew.Tables.Count > 0)
        {
            e.DataSource = dsNew.Tables[0];
        }
    }

转载于:https://www.cnblogs.com/boulder19830907/archive/2007/04/13/711983.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值