在数据库中,有 表A(字段:name ,ClaAid)并事先添加两记录,name ,ClaAid
name1 1
name2 2
在建一表 表B(字段:ClaAid(引用表A的ClaAid),sumry),有两记录----------ClaAid sumry
1 sumry1
2 sumry2
在程序里建一对象private class ClaA
{
string name = "";
int ClaAid = -1;
}
再建一TreeNode,加一根结点,TreeNode.Tag=ClaA一事例对象。将数据库记录(表A)读出,与是树上有两个子接点:name1,name2.当选中name1时,可以通过name1.Tag.ClaA.ClaAid读取表B中的关联记录,name2也一样。现在将表B里与 name1 关联的记录读出,并将该记录的ClaAid改为2,保存,发现此时
name1.Tag.ClaA.ClaAid = 2,原来时等于1的。然而我并没有改该Tag对象里的任何东西。关闭程序,重新运行程序,name1.Tag.ClaA.ClaAid又还原为原来正确的1.
这时怎么回事情呢?
我说明白了吗?
我的目的 不能修改树接点的tag.claA.ClaAid的值,我也不知道时什么原因修改了tag.claA.ClaAid的值
name1 1
name2 2
在建一表 表B(字段:ClaAid(引用表A的ClaAid),sumry),有两记录----------ClaAid sumry
1 sumry1
2 sumry2
在程序里建一对象private class ClaA
{
string name = "";
int ClaAid = -1;
}
再建一TreeNode,加一根结点,TreeNode.Tag=ClaA一事例对象。将数据库记录(表A)读出,与是树上有两个子接点:name1,name2.当选中name1时,可以通过name1.Tag.ClaA.ClaAid读取表B中的关联记录,name2也一样。现在将表B里与 name1 关联的记录读出,并将该记录的ClaAid改为2,保存,发现此时
name1.Tag.ClaA.ClaAid = 2,原来时等于1的。然而我并没有改该Tag对象里的任何东西。关闭程序,重新运行程序,name1.Tag.ClaA.ClaAid又还原为原来正确的1.
这时怎么回事情呢?
我说明白了吗?
我的目的 不能修改树接点的tag.claA.ClaAid的值,我也不知道时什么原因修改了tag.claA.ClaAid的值
http://blog.csdn.net/Knight94/archive/2006/06/04/772886.aspx
先要 从数据库里读表A每读一条,创建一个ClaA对象,并将数据存入ClaA对象,然后将该对象加到树结构上(微软的标准TreeView)选中一个结点时,提取该结点Tag对象,读取tag.ClaAid值,通过tag.ClaAid读取表B里的相关记录读取以后 修改表B记录的ClaAid的值,保存。
此时发现 被选中结点的tag.ClaAid也跟着变了而我并没有改他,树型图只在程序第一次加载时构造,以后再每动她, 但她却变了
非常感谢
可以回家了
但是 我使用 New以后就好了
不解 不解 不解
感谢