Xml文件的读取以及通过GridView控件利用视图过滤器查询显示数据

一、读取Xml文件:

Xml文件即可扩展标记的语言,可以用来标记数据,定义数据类型,是一种用户对自己的标记语言进行定义的源语言。关于Xml的学习,后面的博客会详细介绍,这里关于原理知识就不细说了。

在ASP.NET中关于Xml文件的读取有好多种方式,对于编写Xml文件也有好多方式,下面是我简单编写的一个Xml文件,这里做个简单的介绍,仅用于本实例的讲解:

首先在项目中添加一个Xml文件:

右键项目——添加——新建项目:


可以采用在文件中编写代码:

<?xml version="1.0" encoding="utf-8" ?>
<students>
    <student>
      <name>xiao</name>
      <sex>女</sex>
      <age>23</age>
    </student>
    <student>
      <name>yang</name>
      <sex>男</sex>
      <age>25</age>
    </student>
</students>

也可以再数据项中手动添加。

然后引入命名空间:

using System.IO;   //导入文件流的命名空间
using System.Data;
using System.Data.SqlClient;

然后读取文件并显示:

<span style="font-size:14px;">protected voidPage_Load(object sender,EventArgse)
{
 
<span style="white-space:pre">	</span>//读取Xml文件
 FileStream fs = new FileStream(Server.MapPath("student.xml"),FileMode.Open,FileAccess.Read);
 StreamReader sr = new StreamReader(fs);
 DataSet ds = new DataSet();
 ds.ReadXml(sr);
 this.GridView1.DataSource= ds.Tables[0];
 this.GridView1.DataBind();
}</span>

其中fileStream类是专门对文件系统进行读取、写入、打开和关闭操作的。

StreamReader类专门从字节流中读取字符。

然后定义一个DataSet数据集,将读取的内容放到数据集中,在GridView控件中显示出来。

这样就简单的完成了Xml文件的读取。

下面继续上篇博客中的GridView控件绑定数据的介绍,现在更改界面,在每一个查询条件后面都加上一个CheckBox控件

在personOperate类中编写查询所有用户的方法:

public static DataTable selectAllPerson()
{
            SqlConnection con = personOperate.createCon();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand("select * from person",con);
            DataSet ds = new DataSet();
            sda.Fill(ds,"person");
            return ds.Tables["person"];

}
public static DataTable selectAllPerson()
{
            SqlConnection con = personOperate.createCon();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand("select * from person","person");
            return ds.Tables["person"];

}

通过DataSet数据集返回一个DataTable表。

在界面后台中采用视图过滤器的方式查询满足条件的数据。

构造查询条件,拼接字符串:

string c = "";
if (this.chkPID.Checked)
 {
    if (this.chkPID.Text == "")
    {
          c = "pID like '%'";
    }
    else
    {
          c = "pID=" + this.txtPID.Text;
    }
               
 }
else
    {
          c = "pID like '%'";
    }
if (this.chkName.Checked)
 {
      c += "and personName like'%" + this.txtName.Text + "%'";

 }
if (this.chkSex.Checked)
 {
      if (this.rBtnNan.Checked)
      {
           c += " and personSex='男'";
      }
      else
       {
           c += "and personSex='女'";
       }
 }

建立一个视图,查询全部数据:

DataView dv = new DataView(personOperate.selectAllPerson());//将所有数据全部查出

使用DataView视图过滤器,并绑定数据:

dv.RowFilter = c;//根据选定的条件使用DataView视图过滤器
dv.Sort = "pID desc";//在视图中降序排列
//绑定数据
this.GridView1.DataSource = dv;
this.GridView1.DataBind();

所谓的视图过滤器的功能就是首先查询出的所有数据,然后按照查询条件将满足条件的数据过滤出来。

DataView类用来表示定制的DataTable的视图,我们可以把他作为一个单独的类来处理。

RowFilter是一个可读又可写的属性,用来读取和设置过滤的表达式(在这里的表达式就是拼接的字符串,字符串中采用了通配符),通过视图过滤器查询显示数据就介绍到这里,下篇博客介绍如何通过Repeater控件实现分页显示。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇