已有一个TreeView1 想把勾选的节点的值存入数据库中,代码如下:
protected void Button1_Click(odject sender,EventArgs e)
{
foreach(TreeNode node in TreeView1.Nodes)
{
if(node.Checked)
{
string value=node.Text;
...insert into table(TEXT,roleID)Values(..)...这部分是没有问题的!
}
}
}
问题:没有进行循环,每次只插入第一个节点的数据,主要解决如何遍历TreeView1的所有节点这个问题,谢谢!
protected void Button1_Click(odject sender,EventArgs e)
{
foreach(TreeNode node in TreeView1.Nodes)
{
if(node.Checked)
{
string value=node.Text;
...insert into table(TEXT,roleID)Values(..)...这部分是没有问题的!
}
}
}
问题:没有进行循环,每次只插入第一个节点的数据,主要解决如何遍历TreeView1的所有节点这个问题,谢谢!
public void TreeBind()
{
DataTable dt = agencyService.GetCitys();
foreach(DataRow dr in dt.Rows)
{
TreeNode tn = new TreeNode();
tn.Text = dr["Province"].ToString() + "(" + dr["counts"].ToString() + ")";
tn.Value = dr["Province"].ToString();
this.TreeView1.Nodes.Add(tn);
}
}
public void TreeBind()
{
DataTable dt = agencyService.GetCitys();
foreach(DataRow dr in dt.Rows)
{
TreeNode tn = new TreeNode();
tn.Text = dr["Province"].ToString() + "(" + dr["counts"].ToString() + ")";
tn.Value = dr["Province"].ToString();
this.TreeView1.Nodes.Add(tn);
}
}
foreach(TreeNode node in TreeView1.Nodes)
{
if(node.Checked)
{
string value=node.Text;
...insert into table(TEXT,roleID)Values(..)...这部分是没有问题的!
savevalue(node);
}
} 递归函数
void savevalue(TreeNode parentnode )
{
foreach(TreeNode node in parentnode.Nodes)
{
if(node.Checked)
{ string value=node.Text;
...insert into table(TEXT,roleID)Values(..)...这部分是没有问题的!
savevalue(node);//递归
}
}
public TreeNode[] selectnode = new TreeNode[10000];
private void getCheckedNode(TreeNode treenode)
{
for (int i = 0; i < treenode.Nodes.Count; i++)
{
if (treenode.Nodes[i].Checked)
{
selectnode[nodeindex] = treenode.Nodes[i];
nodeindex++;
}
getCheckedNode(treenode.Nodes[i]);
}
}
public int nodeindex = 0;调用for (int i = 0; i < TreeView1.Nodes.Count; i++)
{
if (TreeView1.Nodes[i].Checked)
{
selectnode[nodeindex] = treenode.Nodes[i];
nodeindex++;
}
getCheckedNode(treenode.Nodes[i]);
}
public int nodeindex = 0;调用for (int i = 0; i < TreeView1.Nodes.Count; i++)
{
if (TreeView1.Nodes[i].Checked)
{
selectnode[nodeindex] = treenode.Nodes[i];
nodeindex++;
}
getCheckedNode(treenode.Nodes[i]);
}
protected void Button1_Click(odject sender,EventArgs e)
{
for(int i=0;i<TreeView1.Nodes.Count;i++)
{
if(TreeView1.Nodes[i].Checked)
{
string value=Nodes[i].Text;
...insert into table(TEXT,roleID)Values(..)...这部分是没有问题的!
}
}
}