使用DataView对象来搜索,筛选、排序、浏览及编辑数据
2008-06-13 10:23
435 查看
DataView代表DataTable对象中的一部分或全部,他们两者之间的关系相当于数据库中的表和视图的关系。DataView一般和Web服务器控件的DataGrid、Repeater及DataList配合使用。这三个对象专门用来显示数据库,功能强大。
接下来我们要示范如何利用DataTable对象的DefaultView属性来筛选和排序数据。下面这个例子可以筛选“零部件种类”为“CPU”的数据行,并先根据“品牌”字段进行递减排序,再根据“价格”字段进行递增排序。
pc表:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/summer_grass/dataview2.bmp)
效果图:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/summer_grass/dataview.JPG)
代码如下:
using System.Data;
using System.Data.OleDb;
protected void Page_Load(object sender, EventArgs e)
{
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("DB.mdb");
OleDbDataAdapter ad = new OleDbDataAdapter("select * from pc",connstr);
DataSet ds = new DataSet();
ad.Fill(ds,"pc");
DataTable dt = new DataTable();
dt=ds.Tables["pc"];
dt.DefaultView.RowFilter= "零部件种类='主板'"; //筛选
dt.DefaultView.Sort="品牌 DESC, 价格 ASC"; //排序
Response.Write("<table border='1'><tr align='center'>");
for (int i = 0; i < dt.Columns.Count; i++)
Response.Write("<td>"+dt.Columns[i].Caption+"</td>");
Response.Write("</tr>");
for (int i = 0; i < dt.DefaultView.Count; i++)
{
Response.Write("<tr>");
for (int j = 0; j < dt.Columns.Count; j++)
Response.Write("<td>"+dt.DefaultView[i][j]+"</td>");
Response.Write("</tr>");
}
Response.Write("</table>");
}
接下来我们要示范如何利用DataTable对象的DefaultView属性来筛选和排序数据。下面这个例子可以筛选“零部件种类”为“CPU”的数据行,并先根据“品牌”字段进行递减排序,再根据“价格”字段进行递增排序。
pc表:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/summer_grass/dataview2.bmp)
效果图:
代码如下:
using System.Data;
using System.Data.OleDb;
protected void Page_Load(object sender, EventArgs e)
{
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("DB.mdb");
OleDbDataAdapter ad = new OleDbDataAdapter("select * from pc",connstr);
DataSet ds = new DataSet();
ad.Fill(ds,"pc");
DataTable dt = new DataTable();
dt=ds.Tables["pc"];
dt.DefaultView.RowFilter= "零部件种类='主板'"; //筛选
dt.DefaultView.Sort="品牌 DESC, 价格 ASC"; //排序
Response.Write("<table border='1'><tr align='center'>");
for (int i = 0; i < dt.Columns.Count; i++)
Response.Write("<td>"+dt.Columns[i].Caption+"</td>");
Response.Write("</tr>");
for (int i = 0; i < dt.DefaultView.Count; i++)
{
Response.Write("<tr>");
for (int j = 0; j < dt.Columns.Count; j++)
Response.Write("<td>"+dt.DefaultView[i][j]+"</td>");
Response.Write("</tr>");
}
Response.Write("</table>");
}
相关文章推荐
- 表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图
- 【EntityFramework系列教程三,翻译】在ASP.NET MVC程序中使用EntityFramework对数据进行排序、过滤筛选以及实现分页
- 数据结构与算法-----搜索和排序(C语言库函数的使用)
- J2SE基础夯实系列之List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用
- ADO.NET 2.0 - 如何使用 DataView 来排序数据
- 使用Pandas对数据进行筛选和排序
- 使用ado 数据集对象浏览表中记录不支持数据访问上一条
- ASP.NET基础教程-利用DataView对象排序和过滤数据
- ADO.NET 2.0 - 如何使用 DataView 来排序数据
- 使用angularjs对数据进行排序筛选
- DataView的使用与筛选数据
- 使用DataView对象显示数据
- C# DataView数据筛选与排序
- ADO.NET 2.0 - 如何使用 DataView 来筛选数据
- 如何使用 DataView 进行数据排序和检索
- gridview利用 DataView 对象进行排序和过滤数据
- WinForm中DataGridView使用DataView的Sort排序后删除数据行数错误问题
- WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
- vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
- J2SE基础夯实系列之List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用