加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 22:37:55 所属栏目:百科 来源:网络整理
导读:一、读取Xml文件: Xml文件即可扩展标记的语言,可以用来标记数据,定义数据类型,是一种用户对自己的标记语言进行定义的源语言。关于Xml的学习,后面的博客会详细介绍,这里关于原理知识就不细说了。 在ASP.NET中关于Xml文件的读取有好多种方式,对于编写Xm

一、读取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控件实现分页显示。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读