private void bind_tree(string ChildNodes, TreeNode tn )//这里
{
DataTable dt = acesSql.getTreeCatalog(ChildNodes).Tables[0];
foreach (DataRow dr in dt.Rows)
{
TreeNode Node = new TreeNode();
if (tn == null)
{
Node.Text = dr["menuText"].ToString();
this.treeView1.Nodes.Add(Node);
bind_tree(dr["nodeId"].ToString(), Node); //这里
}
else
{
Node.Text = dr["menuText"].ToString();
tn.Nodes.Add(Node);
bind_tree(dr["nodeId"].ToString(), Node);//这里
}
}
}如果函数定义 private void bind_tree(string ChildNodes, TreeNode tn )改成 private void bind_tree(object obj)
那么 递归处 bind_tree(dr["nodeId"].ToString(), Node);要怎么改呢?
{
DataTable dt = acesSql.getTreeCatalog(ChildNodes).Tables[0];
foreach (DataRow dr in dt.Rows)
{
TreeNode Node = new TreeNode();
if (tn == null)
{
Node.Text = dr["menuText"].ToString();
this.treeView1.Nodes.Add(Node);
bind_tree(dr["nodeId"].ToString(), Node); //这里
}
else
{
Node.Text = dr["menuText"].ToString();
tn.Nodes.Add(Node);
bind_tree(dr["nodeId"].ToString(), Node);//这里
}
}
}如果函数定义 private void bind_tree(string ChildNodes, TreeNode tn )改成 private void bind_tree(object obj)
那么 递归处 bind_tree(dr["nodeId"].ToString(), Node);要怎么改呢?
obj 包含两个字段,一个string ChildNodes, 一个TreeNode tn否则没办法
{
string ChildNodes = ((MyState)obj).Info;
TreeNode tn = ((MyState)obj).Number;
DataTable dt = acesSql.getTreeCatalog(ChildNodes).Tables[0];
foreach (DataRow dr in dt.Rows)
{
TreeNode Node = new TreeNode();
if (tn == null)
{ Node.Text = dr["menuText"].ToString();
treeView1.Nodes.Add(Node); MyState aa = new MyState(dr["nodeId"].ToString(),Node);//这里及以下 的递归该怎么写呢?
object bb=(object) aa;
bind_tree(bb);
}
else
{
Node.Text = dr["menuText"].ToString();
tn.Nodes.Add(Node); MyState aa = new MyState(dr["nodeId"].ToString(), Node);//这里及以下 的递归该怎么写呢?
object bb = (object)aa;
bind_tree(bb);
}
}
}递归处该怎么写?
{
string ChildNodes = ((MyState)obj).Info;
TreeNode tn = ((MyState)obj).Number;
DataTable dt = acesSql.getTreeCatalog(ChildNodes).Tables[0];
foreach (DataRow dr in dt.Rows)
{
TreeNode Node = new TreeNode();
if (tn == null)
{ Node.Text = dr["menuText"].ToString();
treeView1.Nodes.Add(Node); MyState aa = new MyState(dr["nodeId"].ToString(),Node);//这里及以下 的递归该怎么写呢?
object bb=(object) aa;
bind_tree(bb);
}
else
{
Node.Text = dr["menuText"].ToString();
tn.Nodes.Add(Node); MyState aa = new MyState(dr["nodeId"].ToString(), Node);//这里及以下 的递归该怎么写呢?
object bb = (object)aa;
bind_tree(bb);
}
}
}谢谢,上面加粗处(递归处) 写得正确吗?应该怎么写?