求一个.net c# treeview 绑定SQL数据库代码

以上是一个产品的分类(三级分类),需要绑定到TRRVIEW上面。... 以上是一个产品的分类(三级分类),需要绑定到TRRVIEW上面。 展开
 我来答
八涛
2013-02-07 · TA获得超过4285个赞
知道大有可为答主
回答量:9879
采纳率:23%
帮助的人:1943万
展开全部
私有数据集DS
SqlDataAdapter1的私人SqlDataAdapter的;
私人的解释maxnodeid;

私人无效Form1_Load的(对象发件人,发送System.EventArgs五)
{
创建的漏枝字符串函数= [0 ConnStr];

sqlConnection1(创建);
this.sqlConnection1.Open();
/ /填充新的SqlConnection数据集
>。 CreateDataSet()团搜梁;

/ /从数据库中读取数据,通过递归生成树。
InitTree(this.treeView1.Nodes,“0”);

}

私人的无效CreateDataSet()
{有
this.sqlDataAdapter1新的SqlDataAdapter(“SELECT *从s_menu,this.sqlConnection1);
DS =新的DataSet();

}
私人无效InitTree(TreeNodeCollection NDS,字符串的parentId){
的DataView的DV =新的DataView();

字符串的tmpNd的TreeNode的INTID;
dv.Table = DS 。表“树”];
dv.RowFilter =“的parentId ='”+的parentId +“'”;
在foreach(DataRowView的DV DRV)
{
tmpNd新的TreeNode();
tmpNd.Tag = DRV“节点ID”。的toString();的
tmpNd。文字= DRV“节点名称”]。的ToString(); <BR / Nds.Add(tmpNd);
的INTID的DRV的parentId“的ToString();
InitTree(tmpNd节点tmpNd.Tag.ToString());
}
} BR />
/ /添加节点的操作
私人无效插入(String类型)
{/ /确定一个新的树节点的子节点。
字符串strinsert =“INSERT INTO s_menu值吗?”(“{0}”,“{1}”,“{2}”);
和字符串strformat =“”;
(==“子”)
strformat的的String.Format(strinsert maxnodeid.ToString(),selectnode.Tag.ToString()this.strcomm);

strformat =和的String.Format(“0”,this.strcomm strinsert中,maxnodeid.ToString());
“的SqlCommand CMD =新的SqlCommand(strformat this.sqlConnection1)的;
cmd.ExecuteNonQuery( );
}
/ /添加一个节点来计算的最高值,该值的节点的节点ID值
私人的解释GetMaxNodeid(){

>解释预= 0,最后= 0;
数据集maxds新的DataSet();
this.sqlDataAdapter1 =新的塌运SqlDataAdapter(“选择的nodeId”this.sqlConnection1来自s_menu为了NODEID);在
this.sqlDataAdapter1.Fill(maxds);
(INT I = 0; I {
(第i +1
预= int.Parse(maxds.Tables [0]行[I] [0]。的ToString());
最后一次= int.Parse(maxds.Tables [行[1] [0]。的ToString());
(最后一前!= 1),
回报率1;}

} BR /> + 1;
}

私人无效getallnode(在TreeNode TN)
{
的foreach(TreeNode的的节点tn.Nodes)
{<的BR /将将对List.Add的(node. Tag.ToString());
“(node.Nodes.Count”> 0)
{
getallnode(节点);
}

}

私人无效treeView1_MouseDown(对象发件人,System.Windows.Forms.MouseEventArgs?)
{
/ /判断是否点击的节点上... />:this.selectnode this.treeView1.GetNodeAt(EX,EY);
(selectnode == NULL)
this.isselected = FALSE;
其他
this.isselected = TRUE;
}
私人无效menuAdd_Click(对象发件人,发送System.EventArgs五)
{/ /判断是否点击的节点上,如果不点击,添加一个树节点BR />(isselected == FALSE)
{/ /计算另外的树节点ID值
maxnodeid中指定GetMaxNodeid();
一个TreeNode tmpNd =新的TreeNode();
/ /
tmpNd.Tag this.maxnodeid.ToString();的
FormCommon frmCommon =的新FormCommon();
“的DialogResult结果frmCommon.ShowDialog();
(结果== DialogResult.OK)
/ /获取一个新的树节点的文本值?“
tmpNd”。文本frmCommon.strcomm
。strcomm frmCommon.strcomm
/ /树节点
this.treeView1.Nodes。添加(tmpNd);
/ /插入到数据库中(插入树节点)/> this.insert(“根”);
/ /扩展
this.selectnode.Expand();
}
}
如果你点击了其他

{/ /以确定是否点击的节点上,添加一个子节点
本。 contextAddSub();
}
}
私人无效contextAddSub()
{/ /添加子节点的ID值的
maxnodeid GetMaxNodeid();
一个TreeNode新的TreeNode()tmpNd
/ /分配
tmpNd.Tag = this.maxnodeid.ToString();>的的新FormCommon FormCommon frmCommon =();

的DialogResult结果frmCommon的ShowDialog();
如果(结果==的DialogResult OK)
{/ /获取新的树节点的文本值
tmpNd.Text = frmCommon.strcomm
。strcomm frmCommon.strcomm方法;
/ /添加子节点BR /> this.selectnode.Nodes.Add(tmpNd);
插入到数据库中(插入子节点)
插入(“子”);
/ / / /扩大
this.treeView1.SelectedNode.Expand();
}
}
/ /删除节点的操作
私人无效menuDel_Click的(对象发件人,发送System.EventArgs)
=新的ArrayList(){/ /创建一个新的ArrayList保存你要删除的所有子节点
名单;
(this.isselected == TRUE)BR /> {/ /获取已删除的子节点的节点
getallnode(this.selectnode);
/ /节点被删除,会增加</将对List.Add(this.的delete())selectnode.Tag.ToString
/ /循环删除s_menu
(INT I = 0; {
字符串strdel =从数据库中的本地节点ID = {0}'“的字符串strformat

=”;
strformat =的String.Format(strdel列表[I]);

的SqlCommand CMD =新的SqlCommand(strformat sqlConnection1);
cmd.ExecuteNonQuery();
}
/ /树删除
this.selectnode.Remove();
>}
}
/ /节点的值
私人的,无效menuEdit_Click(对象发件人,发送System.EventArgs 5)
{一个
(this.isselected == TRUE )
{/的新FormCommon FormCommon frmCommon =();
的DialogResult结果frmCommon.ShowDialog();
如果(结果== DialogResult.OK)
{
>字符串strdel =“的更新集s_menu节点名称=”{1}“,其中节点ID =”{0}“;
和字符串strformat =”“;

strformat的String.Format (strdel this.selectnode.Tag.ToString(),frmCommon.strcomm);
的SqlCommand CMD的=新的SqlCommand(strformat this.sqlConnection1);
cmd.ExecuteNonQuery();
这:。selectnode.Text frmCommon.strcomm;
}
}
}
/ /遍历所有节点的值
私人无效getvaluenode的(TreeNodeCollection TN,字符串值)
{的foreach(的TreeNode节点TN)的
{

(node??.Nodes.Count> 0)
{
getvaluenode值(node.Nodes, );
}

,(node.Text ==值)
listnode.Add(节点);
}
的私人无效menuSearch_Click(对象发件人,发送System.EventArgs)

整数J,K,
this.listnode =新的ArrayList();
FormCommon新FormCommon frmCommon();
>的DialogResult:结果frmCommon.ShowDialog(),;
如果(结果== DialogResult.OK)
{
TreeNode的新的TreeNode();
树节点的TEMP =新的TreeNode的();
/ /下面的函数填充listnode
getvaluenode(this. treeView1.Nodes,frmCommon.strcomm);
(INT I = 0; I {
J = 0,K = 0; BR /> N =(TreeNode的)listnode [I]
(N! = NULL)
{
TEMP = N;
/ /获取数的节点,并将其保存到变量j的数量;
(n.Parent = NULL;}
{
N = n.Parent;
J + +; BR /“}
/ /复位
N =温度;
/ /创建一个新的树节点组保存查询到所有节点。
一个TreeNode [] =新TreeNode的研究[J]。
(n.Parent。!= NULL;}
{
N = n.Parent;
M [] = N
K表+ +;
}
(P = 0;下午[P]。展开();

N =温度; n.ForeColor Color.Red; ... /> }

}
}
}
私人无效treeView1_AfterLabelEdit(对象发件人,系统。Windows.Forms.NodeLabelEditEventArgs E)
{
(这= NULL。treeView1.SelectedNode.Text!)
{
字符串strdel =“更新s_menu集节点名称='{1}”,其中节点ID =“{0}'”; ...... />字符串strformat“; strformat =”的String.Format(strdel this.treeView1 SelectedNode.Tag.ToString()。?的SqlCommand,Label.ToString加州())=新的SqlCommand(strformat这。sqlConnection1);
加利福尼亚州的ExecuteNonQuery();}

}
的私人无效treeView1_AfterSelect(对象发件人,System.Windows.Forms.TreeViewEventArgs E),
> {
。listBox1.Items.Clear();
listBox1.Items.Add(this. treeView1.SelectedNode.FullPath.ToString());}

}}
snailgzm
2013-01-31 · TA获得超过3947个赞
知道大有可为答主
回答量:6861
采纳率:0%
帮助的人:2107万
展开全部
私人数据集DS;
私人SqlDataAdapter的SqlDataAdapter1的;
私人诠释maxnodeid;

私人无效Form1_Load的(对象发件人,System.EventArgs五)
{
字符串函数创建= [0“ConnStr];

sqlConnection1新的SqlConnection(创建);
this.sqlConnection1.Open();
/ /填充DataSet
>这一点。CreateDataSet();
/ /从数据库中读取数据,通过递归生成树。
InitTree(this.treeView1.Nodes,“0”);

}

的私人无效CreateDataSet()
{
this.sqlDataAdapter1新的SqlDataAdapter(“选择*从s_menu”的,this.sqlConnection1);
DS =新的DataSet();

}
私人的无效InitTree(TreeNodeCollection NDS,字符串的parentId) {
DataView的DV =新的DataView();
TreeNode的tmpNd;
字符串INTID;
dv.Table = ds.Tables [“树”];
dv.RowFilter =“的parentId ='”+的parentId +“'”;
的foreach(DataRowView的在DV DRV)
{
tmpNd新的TreeNode();
tmpNd.Tag = DRV “节点ID”。的ToString();
tmpNd。文字= DRV“节点名”]。的ToString();
Nds.Add(tmpNd);
INTID DRV“的parentId”的ToString();
InitTree(tmpNd节点,tmpNd.Tag.ToString());
}
}
/ /添加节点的操作
私人无效插入(String类型)
{/ /判断一个新的树节点的子节点。
字符串strinsert =“插入到s_menu值吗?(”{0}“,”{1}',' {2}')“;
字符串strformat =”“念袜;
(类型==”子“)
strformat的String.Format(strinsert中,maxnodeid.ToString(),这个。 selectnode.Tag.ToString(),this.strcomm);
其他
strformat =的String.Format(strinsert,maxnodeid.ToString(),“0”,this.strcomm);
的SqlCommand CMD =新的SqlCommand(strformat,this.sqlConnection1);
cmd.ExecuteNonQuery();
}
/ /添加一个节点,纤纤计算节点的最大值,这个值作为新的节点ID值
私人诠释GetMaxNodeid()
{
诠释预= 0,最后= 0;
数据集maxds新的DataSet();
this.sqlDataAdapter1 =新的SqlDataAdapter(“选择NODEID从s_menu为了nodeid的”,this.sqlConnection1);
this.sqlDataAdapter1.Fill(maxds);
(INT I = 0; I {
(第i +1
预= int.Parse(maxds.Tables [0]。行[I] [0]。的ToString());
最后一次= int.Parse(maxds.Tables [0行[1] [0]。的ToString());
(last-pre! = 1),
回报率前1;}

} BR />返回上+ 1;
}
的私人无效仔竖激getallnode(TreeNode的TN)
{
的foreach(TreeNode的节点tn.Nodes)
{<BR /将对List.Add(节点。Tag.ToString());
(node.Nodes.Count> 0)
{
getallnode(节点);
} }
}

的私人无效treeView1_MouseDown(对象发件人,System.Windows.Forms.MouseEventArgs E)
{
/ /判断是否点击的节点上...... /> this.selectnode this.treeView1.GetNodeAt(EX,EY);
(selectnode == NULL)
this.isselected = FALSE;
其他
this.isselected = TRUE;
}
私人的无效menuAdd_Click(对象发件人,发送System.EventArgs五)
{/ /判断是否点击的节点上,如果没有点击,添加一个树节点 BR />(isselected == FALSE)
{/ /计算出额外的树节点ID值
maxnodeid GetMaxNodeid();
一个TreeNode tmpNd =新的TreeNode();
/ /分配
tmpNd.Tag this.maxnodeid.ToString();的
FormCommon frmCommon =的新FormCommon();
的DialogResult结果= frmCommon.ShowDialog( );
(结果= = DialogResult.OK)
{/ /获取新的树节点的文本值
tmpNd.Text frmCommon.strcomm;
。strcomm frmCommon.strcomm
/ /新的树节点
this.treeView1.Nodes.Add(tmpNd);
/ /插入到数据库中(插入树节点) /> this.insert(“根”);
/ /展开
this.selectnode.Expand();
}
}

其他
{/ /以确定是否点击的节点上,如果点击,添加一个子节点
this.contextAddSub();
}
}
私人无效的contextAddSub ()
{/ /添加子节点ID值
maxnodeid GetMaxNodeid();
一个TreeNode tmpNd的新的TreeNode();
/ /分配
tmpNd.Tag = this.maxnodeid.ToString(); > FormCommon frmCommon =的新FormCommon();
的DialogResult结果frmCommon.ShowDialog();
如果(结果== DialogResult.OK )
{/ /取到新的树节点的文本值的
tmpNd.Text = frmCommon.strcomm
this.strcomm = frmCommon.strcomm方法;
/ /添加子节点 BR /> this.selectnode.Nodes.Add(tmpNd);
插入到数据库中(插入子节点)
this.insert(“子”);
/ / / /展开
this.treeView1.SelectedNode.Expand();
}
}
/ /删除节点的操作
的私人无效menuDel_Click(对象发件人,发送System.EventArgs)
{/ /创建一个新的ArrayList中保存,你要删除所有子节点的节点下面
名单=新的ArrayList();
(this.isselected == TRUE) BR /> {/ /获取删除的节点下面的子节点
getallnode(this.selectnode);
/ /节点被删除也增加了
将对List.Add(this.被删除())selectnode.Tag.ToString
/ /循环从数据库中
(INT I = 0; {
字符串strdel =删除s_menu的地方节点ID =“{ 0}'“;

的字符串strformat =”;
strformat =的String.Format(strdel列表的[I]);
的SqlCommand CMD =新的SqlCommand(strformat, 。sqlConnection1);
cmd.ExecuteNonQuery();
}
/ /树删除
this.selectnode.Remove的();
}
}
/ /节点的值
私人的无效menuEdit_Click(对象发件人,发送System.EventArgs五)
{
(this.isselected == TRUE)
{ /> FormCommon frmCommon =的新FormCommon();
的DialogResult结果frmCommon.ShowDialog();
如果(结果== DialogResult.OK)
{
字符串strdel =“更新集s_menu节点名称='{1}',其中节点ID =“{0}”;
和字符串strformat =“”;
strformat的String.Format(strdel,this.selectnode.Tag.ToString() ,frmCommon.strcomm);
的SqlCommand CMD =新的SqlCommand(strformat,this.sqlConnection1);
cmd.ExecuteNonQuery();
this.selectnode.Text = frmCommon.strcomm;
>}
}
}
/ /遍历所有节点。值
私人无效getvaluenode(的TreeNodeCollection TN,字符串值)
{<BR /的foreach(TreeNode的节点在TN)
{
如果(node.Nodes.Count> 0)
{
getvaluenode(node.Nodes,值);
}
(node.Text ==值)
listnode.Add(节点);
}
}
的私人无效menuSearch_Click(对象发件人,发送System.EventArgs)
{
整数J,K,
this.listnode =新的ArrayList();
FormCommon frmCommon的新FormCommon();
的的DialogResult结果frmCommon.ShowDialog( );
如果(结果== DialogResult.OK)
{
TreeNode的?=新的TreeNode();
TreeNode的TEMP =新的TreeNode();
/ /下面的函数填充listnode
getvaluenode(这一点。treeView1.Nodes,frmCommon.strcomm);
(INT I = 0; I {
J = 0,K = 0; BR /> N =(TreeNode的)listnode [I]
(N! = NULL)
{
TEMP = N;
/ /得到上面的节点数量,保存到变量j的数量;
(n.Parent!= NULL;}
{
N = n.Parent;
J + +;
>}
/ /复位
N =温度;
/ /创建一个新的树节点组保存查询到所有节点。
一个TreeNode [] =新的TreeNode [J]。
为(n.Parent!= NULL;}
{
N = n.Parent;
M [] = N
K表+ +;
}
(P = 0;下午[P]。展开();

N =温度; n.ForeColor = Color.Red; ...... />}
}
}
}
私人的无效treeView1_AfterLabelEdit(对象发件人,System.Windows.Forms.NodeLabelEditEventArgs E)
{
(这= NULL。treeView1.SelectedNode.Text!)
{
字符串strdel =的“更新s_menu集节点名称='{1}',其中节点ID =”{0}'“;
字符串strformat “”; strformat =的String.Format(strdel this.treeView1。SelectedNode.Tag.ToString(),e.??Label.ToString());的SqlCommand加利福尼亚=新SqlCommand(strformat,this.sqlConnection1);
加利福尼亚的ExecuteNonQuery();

}
}
的私人无效treeView1_AfterSelect(对象发件人,System.Windows.Forms.TreeViewEventArgs E)
{
这一点。 listBox1.Items.Clear();
listBox1.Items.Add(this.treeView1.SelectedNode.FullPath.ToString());
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友634e58420
2013-02-06 · TA获得超过3088个赞
知道大有可为答主
回答量:9904
采纳率:0%
帮助的人:2867万
展开全部
私有数据集DS
SqlDataAdapter1的私人SqlDataAdapter的;
私人的解释maxnodeid;

私人无效Form1_Load的(对象发件人,发送System.EventArgs五)
{
创建的漏枝字符串函数= [0 ConnStr];

sqlConnection1(创建);
this.sqlConnection1.Open();
/ /填充新的SqlConnection数据集
>。 CreateDataSet()团搜梁;

/ /从数据库中读取数据,通过递归生成树。
InitTree(this.treeView1.Nodes,“0”);

}

私人的无效CreateDataSet()
{有
this.sqlDataAdapter1新的SqlDataAdapter(“SELECT *从s_menu,this.sqlConnection1);
DS =新的DataSet();

}
私人无效InitTree(TreeNodeCollection NDS,字符串的parentId){
的DataView的DV =新的DataView();

字符串的tmpNd的TreeNode的INTID;
dv.Table = DS 。表“树”];
dv.RowFilter =“的parentId ='”+的parentId +“'”;
在foreach(DataRowView的DV DRV)
{
tmpNd新的TreeNode();
tmpNd.Tag = DRV“节点ID”。的toString();的
tmpNd。文字= DRV“节点名称”]。的ToString(); <BR / Nds.Add(tmpNd);
的INTID的DRV的parentId“的ToString();
InitTree(tmpNd节点tmpNd.Tag.ToString());
}
} BR />
/ /添加节点的操作
私人无效插入(String类型)
{/ /确定一个新的树节点的子节点。
字符串strinsert =“INSERT INTO s_menu值吗?”(“{0}”,“{1}”,“{2}”);
和字符串strformat =“”;
(==“子”)
strformat的的String.Format(strinsert maxnodeid.ToString(),selectnode.Tag.ToString()this.strcomm);

strformat =和的String.Format(“0”,this.strcomm strinsert中,maxnodeid.ToString());
“的SqlCommand CMD =新的SqlCommand(strformat this.sqlConnection1)的;
cmd.ExecuteNonQuery( );
}
/ /添加一个节点来计算的最高值,该值的节点的节点ID值
私人的解释GetMaxNodeid(){

>解释预= 0,最后= 0;
数据集maxds新的DataSet();
this.sqlDataAdapter1 =新的塌运SqlDataAdapter(“选择的nodeId”this.sqlConnection1来自s_menu为了NODEID);在
this.sqlDataAdapter1.Fill(maxds);
(INT I = 0; I {
(第i +1
预= int.Parse(maxds.Tables [0]行[I] [0]。的ToString());
最后一次= int.Parse(maxds.Tables [行[1] [0]。的ToString());
(最后一前!= 1),
回报率1;}

} BR /> + 1;
}

私人无效getallnode(在TreeNode TN)
{
的foreach(TreeNode的的节点tn.Nodes)
{<的BR /将将对List.Add的(node. Tag.ToString());
“(node.Nodes.Count”> 0)
{
getallnode(节点);
}

}

私人无效treeView1_MouseDown(对象发件人,System.Windows.Forms.MouseEventArgs?)
{
/ /判断是否点击的节点上... />:this.selectnode this.treeView1.GetNodeAt(EX,EY);
(selectnode == NULL)
this.isselected = FALSE;
其他
this.isselected = TRUE;
}
私人无效menuAdd_Click(对象发件人,发送System.EventArgs五)
{/ /判断是否点击的节点上,如果不点击,添加一个树节点BR />(isselected == FALSE)
{/ /计算另外的树节点ID值
maxnodeid中指定GetMaxNodeid();
一个TreeNode tmpNd =新的TreeNode();
/ /
tmpNd.Tag this.maxnodeid.ToString();的
FormCommon frmCommon =的新FormCommon();
“的DialogResult结果frmCommon.ShowDialog();
(结果== DialogResult.OK)
/ /获取一个新的树节点的文本值?“
tmpNd”。文本frmCommon.strcomm
。strcomm frmCommon.strcomm
/ /树节点
this.treeView1.Nodes。添加(tmpNd);
/ /插入到数据库中(插入树节点)/> this.insert(“根”);
/ /扩展
this.selectnode.Expand();
}
}
如果你点击了其他

{/ /以确定是否点击的节点上,添加一个子节点
本。 contextAddSub();
}
}
私人无效contextAddSub()
{/ /添加子节点的ID值的
maxnodeid GetMaxNodeid();
一个TreeNode新的TreeNode()tmpNd
/ /分配
tmpNd.Tag = this.maxnodeid.ToString();>的的新FormCommon FormCommon frmCommon =();

的DialogResult结果frmCommon的ShowDialog();
如果(结果==的DialogResult OK)
{/ /获取新的树节点的文本值
tmpNd.Text = frmCommon.strcomm
。strcomm frmCommon.strcomm方法;
/ /添加子节点BR /> this.selectnode.Nodes.Add(tmpNd);
插入到数据库中(插入子节点)
插入(“子”);
/ / / /扩大
this.treeView1.SelectedNode.Expand();
}
}
/ /删除节点的操作
私人无效menuDel_Click的(对象发件人,发送System.EventArgs)
=新的ArrayList(){/ /创建一个新的ArrayList保存你要删除的所有子节点
名单;
(this.isselected == TRUE)BR /> {/ /获取已删除的子节点的节点
getallnode(this.selectnode);
/ /节点被删除,会增加</将对List.Add(this.的delete())selectnode.Tag.ToString
/ /循环删除s_menu
(INT I = 0; {
字符串strdel =从数据库中的本地节点ID = {0}'“的字符串strformat

=”;
strformat =的String.Format(strdel列表[I]);

的SqlCommand CMD =新的SqlCommand(strformat sqlConnection1);
cmd.ExecuteNonQuery();
}
/ /树删除
this.selectnode.Remove();
>}
}
/ /节点的值
私人的,无效menuEdit_Click(对象发件人,发送System.EventArgs 5)
{一个
(this.isselected == TRUE )
{/的新FormCommon FormCommon frmCommon =();
的DialogResult结果frmCommon.ShowDialog();
如果(结果== DialogResult.OK)
{
>字符串strdel =“的更新集s_menu节点名称=”{1}“,其中节点ID =”{0}“;
和字符串strformat =”“;

strformat的String.Format (strdel this.selectnode.Tag.ToString(),frmCommon.strcomm);
的SqlCommand CMD的=新的SqlCommand(strformat this.sqlConnection1);
cmd.ExecuteNonQuery();
这:。selectnode.Text frmCommon.strcomm;
}
}
}
/ /遍历所有节点的值
私人无效getvaluenode的(TreeNodeCollection TN,字符串值)
{的foreach(的TreeNode节点TN)的
{

(node??.Nodes.Count> 0)
{
getvaluenode值(node.Nodes, );
}

,(node.Text ==值)
listnode.Add(节点);
}
的私人无效menuSearch_Click(对象发件人,发送System.EventArgs)

整数J,K,
this.listnode =新的ArrayList();
FormCommon新FormCommon frmCommon();
>的DialogResult:结果frmCommon.ShowDialog(),;
如果(结果== DialogResult.OK)
{
TreeNode的新的TreeNode();
树节点的TEMP =新的TreeNode的();
/ /下面的函数填充listnode
getvaluenode(this. treeView1.Nodes,frmCommon.strcomm);
(INT I = 0; I {
J = 0,K = 0; BR /> N =(TreeNode的)listnode [I]
(N! = NULL)
{
TEMP = N;
/ /获取数的节点,并将其保存到变量j的数量;
(n.Parent = NULL;}
{
N = n.Parent;
J + +; BR /“}
/ /复位
N =温度;
/ /创建一个新的树节点组保存查询到所有节点。
一个TreeNode [] =新TreeNode的研究[J]。
(n.Parent。!= NULL;}
{
N = n.Parent;
M [] = N
K表+ +;
}
(P = 0;下午[P]。展开();

N =温度; n.ForeColor Color.Red; ... /> }

}
}
}
私人无效treeView1_AfterLabelEdit(对象发件人,系统。Windows.Forms.NodeLabelEditEventArgs E)
{
(这= NULL。treeView1.SelectedNode.Text!)
{
字符串strdel =“更新s_menu集节点名称='{1}”,其中节点ID =“{0}'”; ...... />字符串strformat“; strformat =”的String.Format(strdel this.treeView1 SelectedNode.Tag.ToString()。?的SqlCommand,Label.ToString加州())=新的SqlCommand(strformat这。sqlConnection1);
加利福尼亚州的ExecuteNonQuery();}

}
的私人无效treeView1_AfterSelect(对象发件人,System.Windows.Forms.TreeViewEventArgs E),
> {
。listBox1.Items.Clear();
listBox1.Items.Add(this. treeView1.SelectedNode.FullPath.ToString());}

}}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ec8ca4b
2013-01-27 · TA获得超过199个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:119万
展开全部
绑定到树控件的前提就是数据之间要有级联扰清关系(上下级关系),有了这些关系以后然后才可以使用递归缓粗前的方法来实现凳亮树的绑定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ec17c9c
2013-01-28 · TA获得超过124个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:124万
展开全部
这个还是需要你前期处理的。不能直接绑定。
比如你要先构造好结构。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式