【问题标题】:dot net gridview sorting problemdot net gridview排序问题
【发布时间】:2010-06-30 08:45:40
【问题描述】:

我有一个 Web 应用程序(使用 C#)。我有一个 GridView 并希望能够对其内容进行排序。我已经添加了标签

...

AllowSorting="True"
onsorting="MyGridView_Sorting">

asp:BoundField DataField="NAME" HeaderText="Name" SortExpression="NAME" 

在 GridView 内部。我已经实现了 MyGridView_Sorting 方法。事情是:它不起作用。什么也没做。标题文本“名称”看起来像一个活动链接,但单击不会产生任何效果。在里面放一个断点

MyGridView_Sorting

表明它实际上从未进入函数内部。怎么了?我错过了什么?

谢谢!!!

九月

< asp:GridView ID="MyGridView"
runat="server"                               
CssClass="pvgrid" 
Width="90%" 
AutoGenerateColumns="false"
OnRowCommand="MyGridView_RowCommand"
AllowPaging="True" 
PageSize="10" 
AllowSorting="True"
onsorting="MyGridView_Sorting" 
onpageindexchanging="MyGridView_PageIndexChanging" >

< Columns >
< asp:BoundField DataField="NAME" HeaderText="Name" SortExpression="NAME"  />
< /Columns >
< /asp:GridView >


protected void MyGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    MyGridView.PageIndex = e.NewPageIndex;
    MyGridView.DataBind();
}

protected void MyGridView_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable dataTable = MyGridView.DataSource as DataTable;

    if (dataTable != null)
    {
        DataView dataView = new DataView(dataTable);
        dataView.Sort = e.SortExpression + " "+ ConvertSortDirectionToSql(e.SortDirection);
        MyGridView.DataSource = dataView;
        MyGridView.DataBind();
    }
}

【问题讨论】:

    标签: c# .net asp.net gridview sorting


    【解决方案1】:

    GridView 将排序委托给底层 DataSource。 GridView 不自行执行排序,它只是委托。因此,您需要查看 DataSource 进行排序。什么是数据源?它显示什么样的数据?这些自定义对象是来自ObjectDataSource 还是您使用的是SqlDataSourceLinqDataSource

    【讨论】:

    • 我使用一个自定义函数来填充数据源,该函数会询问数据库并将数据集绑定到 gridview。我不明白为什么应用程序甚至没有进入我的排序功能。甚至不是第一行。该函数根本没有被调用。我确定我没有正确理解这项业务的逻辑......
    • 编辑器不喜欢"" 怎么把代码放到我的帖子里?
    • 我首先想了解的是,为什么点击带有排序表达式的绑定字段不会让应用程序调用排序方法
    猜你喜欢
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多