排序的GridView [英] sorting gridview

查看:130
本文介绍了排序的GridView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的GridView在哪里绑定数据源我不得不添加此GridView的排序;我加了code以下到,但它并不能很好的工作。

 私人字符串ConvertSortDirectionToSql(SortDirection sortDireciton)
{
    字符串m_SortDirection =的String.Empty;

    开关(sortDireciton)
    {
        案例SortDirection.Ascending:
            m_SortDirection =ASC;
            打破;

        案例SortDirection.Descending:
            m_SortDirection =DESC;
            打破;
    }

    返回m_SortDirection;
}

保护无效GridView1_Sorting(对象发件人,GridViewSortEventArgs E)
{
    数据表m_DataTable = GridView1.DataSource的数据表;

    如果(m_DataTable!= NULL)
    {
        数据视图m_DataView =新的数据视图(m_DataTable);
        m_DataView.Sort = e.SortEx pression ++ ConvertSortDirectionToSql(e.SortDirection);

        GridView1.DataSource = m_DataView;
        GridView1.DataBind();
    }
}
 

解决方案

您可以用这个,因为我有同样的问题,我解决这个问题是这样的。

 公共字符串SortingEx pression
{
    得到
    {
        如果(this.ViewState [SORTEX pression] == NULL)
            返回 ;
        其他
            返程(串)this.ViewState [SORTEX pression];
    }

    组
    {
        this.ViewState [SORTEX pression] =值;
    }
}

保护无效GridView1_Sorting(对象发件人,GridViewSortEventArgs E)
{
    数据表m_DataTable = GridView1.DataSource的数据表;

    如果(m_DataTable!= NULL)
    {
        数据视图m_DataView =新的数据视图(m_DataTable);
        SortingEx pression = e.SortEx pression ++(SortingEx pression.Contains(ASC)?DESC:ASC);
        m_DataView.Sort = SortingEx pression;

        GridView1.DataSource = m_DataView;
        GridView1.DataBind();
    }
}
 

I had gridview where bind datasource I had to add sorting for this gridview; I added the code below to that but It didn't work well.

private string ConvertSortDirectionToSql(SortDirection sortDireciton)
{
    string m_SortDirection = String.Empty;

    switch (sortDireciton)
    {
        case SortDirection.Ascending:
            m_SortDirection = "ASC";
            break;

        case SortDirection.Descending:
            m_SortDirection = "DESC";
            break;
    }

    return m_SortDirection;
}

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable m_DataTable = GridView1.DataSource as DataTable;

    if (m_DataTable != null)
    {
        DataView m_DataView = new DataView(m_DataTable);
        m_DataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);

        GridView1.DataSource = m_DataView;
        GridView1.DataBind();
    }
}

解决方案

you can use this, as I had the same problem and I solve it like this.

public string SortingExpression
{
    get
    {
        if (this.ViewState["SortExpression"] == null)
            return "";
        else
            return (string)this.ViewState["SortExpression"];
    }

    set
    {
        this.ViewState["SortExpression"] = value;
    }
}

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable m_DataTable = GridView1.DataSource as DataTable;

    if (m_DataTable != null)
    {
        DataView m_DataView = new DataView(m_DataTable);
        SortingExpression = e.SortExpression + " " + (SortingExpression.Contains("ASC") ? "DESC" : "ASC");
        m_DataView.Sort =SortingExpression;

        GridView1.DataSource = m_DataView;
        GridView1.DataBind();
    }
}

这篇关于排序的GridView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆