单击特定列的标题时触发的任何Gridview事件?

时间:2015-12-30 13:53:38

标签: c# asp.net events gridview objectdatasource

我正在使用带有gridview的asp:ObjectDataSource,而我正试图获取 在执行SelectMethod的{​​{1}}之前,gridview的sortExpression。

ObjectDataSource

点击标题时是否会触发任何gridview事件,以便我可以通过以下方式获取所点击列的名称:

<asp:ObjectDataSource ID="ODS_Codes"
        runat="server"
        SelectMethod="GetCodes" DataObjectTypeName="DataTable" OnSelected="ODS_Codes_Selected"
        TypeName="Clients_DAL">
        <SelectParameters>
            <asp:Parameter Type="String" Name="sortExpression" />
        </SelectParameters>
    </asp:ObjectDataSource>

1 个答案:

答案 0 :(得分:1)

  1. SortExpression="ColName"上使用BoundField
  2. 在gridView_Sorting上使用OnSorting="gridViewSorting"
  3. 将事件定义为

    *protected void gridView_Sorting(object sender, GridViewSortEventArgs e)
    {
       DataTable dataTable = gridView.DataSource as DataTable;
    
       if (dataTable != null)
       {
          DataView dataView = new DataView(dataTable);
          dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);
    
    
    
    gridView.DataSource = dataView;
      gridView.DataBind();
    
       }
    }*