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

前端之家收集整理的这篇文章主要介绍了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控件实现分页显示

猜你在找的XML相关文章