界面
//所有的数据全部在集合中
//dgv控件绑定List集合,List集合中有User类的对象,对象里有属性,把属性绑定到没列的数据上
dgv.DataSource = list;//绑定数据
姓名,密码,性别,年龄列的DataPropertyName分别对应List集合中对象的Name,Password,Gender,Age属性
后台代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
namespace _06大程序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//读取所有的用户信息
LoadUser();
}
private void LoadUser()
{
List<User> list = new List<User>();//存储对象数据的所有
XDocument xdoc = XDocument.Load("goodword.xml");
//获取根元素,遍历该根元素下的所有子元素,并把所有的子元素添加到一个User类型的子元素中
// XElement root = xdoc.Root;
foreach (XElement user in xdoc.Root.Elements())
{
list.Add(new User() {
Id = user.Attribute("id").Value,
Name = user.Element("name").Value,
Password = user.Element("password").Value,
Gender = user.Element("gender").Value,
Age = user.Element("age").Value });
//Dgv控件绑定List集合
//List集合中有User类的对象
//对象里有属性
//把属性绑定到没列的对象上
}
//所有数据全部在集合中
Dgv.DataSource = list;//绑定数据
//注意:这一行代码存放位置不正确就会导致form窗口仅显示一行数据
}
}
}
1)如果这一部分写错,例如gender写成gendre,就会出现报错
list.Add(new User() {
Id = user.Attribute("id").Value,
Name = user.Element("name").Value,
Gender = user.Element("gendre").Value,//
识别错误比较麻烦
2)如果这一行代码写错,就会在form窗口仅显示一行数据
//所有数据全部在集合中
Dgv.DataSource = list;//绑定数据
//注意:这一行代码存放位置不正确就会导致form窗口仅显示一行数据