datagrid行排序和筛选

<form runat="server">

  Select only Titles containing the text:
  <ASP:TextBox id="txtFindText" runat="server" />
  <ASP:Button id="cmdFind" Text="Find" runat="server" /><p />

  <ASP:DataGrid id="MyDataGrid" runat="server"
       EnableViewState="False"
       CellPadding="5"
       GridLines="None"
       HeaderStyle-BackColor="silver"
       HeaderStyle-HorizontalAlign="center"
       FooterStyle-BackColor="silver"
       ShowFooter="True"
       AllowSorting="True"  //允许排序
       OnSortCommand="SortRows" //声明排序处理函数
  />

</form>
以下是脚本:
<script language="C#" runat="server">

 string gstrSortOrder;   // to hold the sort order
 string gstrFindText;   // to hold the filter expression

 void Page_Load(Object sender, EventArgs e)
 {
  if (Page.IsPostBack)
  {
   // set the value to be used for the RowFilter on the DataView
   gstrFindText = "Title LIKE '*" + txtFindText.Text + "*'";
  }
  else
  {
   // set the default values for the sort string and filter text box
   gstrSortOrder = "ISBN";
   txtFindText.Text = "ASP";
  }

  // recreate the data set and bind to the DataGrid control
  BindDataGrid();
 }


 void SortRows(Object objSender, DataGridSortCommandEventArgs objArgs )
 {
  // runs when the column headings in the DataGrid are clicked

  // get the sort expression (name of the column heading that was clicked)
                //得到排序索引值
  gstrSortOrder = objArgs.SortExpression.ToString();

  // recreate the data set and bind to the DataGrid control
  BindDataGrid();
 }


 void BindDataGrid()
 {
  // get connection string from ../global/connect-strings.ascx user control
  string strConnect = ctlConnectStrings.OLEDBConnectionString;

  // create a SQL statement to select some rows from the database
  string strSelect = "SELECT * FROM BookList";

  // create a variable to hold an instance of a DataView object
  DataView objDataView;

  // get DataView from get-dataview-control.ascx user control
  objDataView = ctlDataView.GetDataView(strConnect, strSelect);

  if (objDataView == null)
   return;

  // sort the rows in the DataView into the specified order
                 //排序
  objDataView.Sort = gstrSortOrder;

  // select the rows in the DataView that match the filter
                  //设置筛选
  objDataView.RowFilter = gstrFindText;

  // set the DataSource property of the DataList
  MyDataGrid.DataSource = objDataView;

  // and bind the control to the data
  MyDataGrid.DataBind();
 }

</script>
注意点:
DataGridSortCommandEventArgs objArgs
gstrSortOrder = objArgs.SortExpression.ToString();
objDataView.Sort = gstrSortOrder;
objDataView.RowFilter = gstrFindText;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值