比如我有一个记录,其属性包括:Name,Age,Birthday,School
我想用treeview中的treenode来保存在这条记录的所有属性。这样在调用其它事件时就可以读取到这些属性,而不用再读取数据库了。
可是我只想到treenode中的value或tag来存放这些属性,它们之间用"|"区分,然后下次要用时,利用string.split('|')来获取。但是感觉这种方法有点麻烦,所以想请教下大家有没有其它什么好点的办法?
我想用treeview中的treenode来保存在这条记录的所有属性。这样在调用其它事件时就可以读取到这些属性,而不用再读取数据库了。
可是我只想到treenode中的value或tag来存放这些属性,它们之间用"|"区分,然后下次要用时,利用string.split('|')来获取。但是感觉这种方法有点麻烦,所以想请教下大家有没有其它什么好点的办法?
另一个是保存在TAG属性中,不过不用用|分隔,你定义一个你这个数据的结构或者类,然后TAG存放这个类,用的时候显式转换一下就可以了。
还有就是可以用唯一的标识比如id去过滤数据源datasource/datatable
这样就相当于在数据源查询,而不用去连接数据库~
public class UserInfo
{
private string name;
public string Name
{
set {name = value;}
get {return name;}
} private int Age;
..............................
}绑定的时候:
UserInfo ui = new UserInfo();
ui.Name = "...";
ui.Age = 20;
..........
treeNode.Tag = ui;
取出的时候:
UserInfo ui = (UserInf)treeNode.Tag;
{
public UserNode(string name,int age,....)
{
this.Name=name;this.Age=age;...... } private string name;
public string Name
{
set {name = value;}
get {return name;}
} private int Age;
..............................
} 在使用的时候:
nd=new UserNode("name",20,...) ;然后你在获取节点时,就可以取得你想要的信息了
你传个对象(Name,Age,Birthday,School,.........)对象给tag 就可以了