DataView数据视图实现数据过滤,排序(代码调试通过)

DataView过滤数据行

private void filterButton_Click(object sender, System.EventArgs e)
  {//过滤
   SqlConnection conn=new SqlConnection();
   conn.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"].ToString();
   conn.Open();
   string sql="select * from Products";
   SqlDataAdapter cmd=new SqlDataAdapter(sql,conn);
   ds=new DataSet();
   cmd.Fill(ds,"showTable");
   DataView dv=ds.Tables["showTable"].DefaultView;
   dv.RowFilter="ProductName like /'%"+name.Text+"%/'";   
   DataGrid1.DataSource=dv; 
   DataBind();
   cmd.Dispose();
   conn.Close();
   conn.Dispose();
  }

DataView多条件过滤

DataView dv=ds.Tables["showTable"].DefaultView;
   dv.RowFilter="ProductName like /'%"+name.Text+"%/' and ProductID="+name2.Text+"";   
   DataGrid1.DataSource=dv; 
   DataGrid1.DataBind();

DataView过滤状态行

DataView dv2=ds.Tables["showTable"].DefaultView;
   dv2.RowStateFilter=DataViewRowState.Deleted;//删除行
   DataGrid2.DataSource=dv2;
   DataGrid2.DataBind();

DataView dv2=ds.Tables["showTable"].DefaultView;
   dv2.RowStateFilter=DataViewRowState.CurrentRows;//目前行
   DataGrid2.DataSource=dv2;
   DataGrid2.DataBind();

通过状态行可以显示用户所做过的操作,从而决定是否更新数据库数据

DataView排序

SqlConnection conn=new SqlConnection();
   conn.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"].ToString();
   conn.Open();
   string sql="select * from Products";
   SqlDataAdapter cmd=new SqlDataAdapter(sql,conn);
   ds=new DataSet();
   cmd.Fill(ds,"showTable");
   DataView dv=ds.Tables["showTable"].DefaultView;
   dv.RowFilter="ProductName like /'%"+name.Text+"%/'";   
   dv.Sort="SupplierID DESC,ProductName DESC";
   DataGrid1.DataSource=dv; 
   DataGrid1.DataBind();
   cmd.Dispose();
   conn.Close();
   conn.Dispose();
DataGrid排序

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
  {//排序
   SqlConnection conn=new SqlConnection();
   conn.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"].ToString();
   conn.Open();
   string sql="select * from Products";
   SqlDataAdapter cmd=new SqlDataAdapter(sql,conn);
   ds=new DataSet();
   cmd.Fill(ds,"showTable");
   dv2=ds.Tables["showTable"].DefaultView;
   dv2.Sort=e.SortExpression;
   DataGrid1.DataSource=dv2;
   DataGrid1.DataBind();
  }

DataGrid利用DataView过滤,排序(以下代码为网上收集)

DataSet ds = new DataSet();
SqlConnection conn =  new SqlConnection("server=localhost;uid=sa;pwd=sa;DataBase=pubs");
SqlDataAdapter ada = new SqlDataAdapter("select * from authors",conn);
conn.Open();
ada.Fill(ds,"a");
conn.Close();
DataView dv = new DataView();
dv.Table = ds.Tables[0];
dv.RowFilter = "au_fname like 'a%'";
dv.Sort = "au_id DESC";
tst.DataSource=dv;
tst.DataBind();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值