这是一个通讯簿问题:我现在定义了两个窗体:MainForm(主窗体),Group(组信息窗体)
我现在是在主窗体的单击新建组事件中进入Group窗体,当填写完组的信息,关闭此窗体的时候把此组的组名显示在MainForm的treeview控件中,由于winform中没有象webform那样的页面刷新,所以我不知道如何实现高手帮帮忙帮我解决这个小小难题谢谢。。
我现在是在主窗体的单击新建组事件中进入Group窗体,当填写完组的信息,关闭此窗体的时候把此组的组名显示在MainForm的treeview控件中,由于winform中没有象webform那样的页面刷新,所以我不知道如何实现高手帮帮忙帮我解决这个小小难题谢谢。。
我在这个函数里得到要插入节点的父节点:TreeNode SelectParentNode(string ParentID)
然后在另一个函数中把这个节点插入到当前树中。
public void BindTree()
{
SqlConnection myConn = new SqlConnection("server=localhost;uid=sa;pwd=125226;database=messagebook");
SqlCommand myCommand = new SqlCommand("ViewTree",myConn);
myCommand.CommandType = CommandType.StoredProcedure;
myConn.Open();
SqlDataReader myReader;
myReader =myCommand.ExecuteReader(CommandBehavior.CloseConnection);
while(myReader.Read())
{
string ID = myReader.GetString(0);
string GroupName = myReader.GetString(1);
string ParentID = myReader.GetString(2);
if(ID ==ParentID)
{
treeView1.Nodes.Add(GroupName);
}
else
{ //查找父节点,生成子节点。
TreeNode Node = SelectParentNode(ParentID);
try
{ int i = treeView1.Nodes.IndexOf(Node);
treeView1.Nodes[i+2].Nodes.Add(GroupName);问题就在这里为啥i得出来的是-1只有加上2才能正确的显示那????
//treenode.Nodes.Add(GroupName);
//Node.Nodes.Add(GroupName);
//MessageBox.Show(Node.Nodes[1].ToString());
}
catch(Exception e1)
{
MessageBox.Show(e1.Message);
} }
}
}
这是一个treeView控件的问题