利用treeView实现遍历和递归

private void button1_Click(object sender, System.EventArgs e)
{
scmx11.Scmx.Clear();
treeView1.BeginUpdate();
dataGrid1.DataSource=null;
AddtoDataSet2(textBox1.Text);
DataView dv=new DataView(scmx11.Scmx);
dv.RowFilter="MX_NUM='"+textBox1.Text+"'";
if(dv.Count>0)
{
TreeNode node=new TreeNode(textBox1.Text);
treeView1.Nodes.Add(node);
foreach(DataRowView r in dv)
{
TreeNode node0=new TreeNode(r["XUHK"].ToString().PadRight(6,' ')+r["DLHK"].ToString().PadRight(21,' ')+" "+r["MYCG"].ToString());
if(r["DLHK"].ToString().EndsWith("MX"))
{
insertnode1(node0,r["DLHK"].ToString().Trim());
}
node.Nodes.Add(node0);
}
}
treeView1.EndUpdate();
}
private void insertnode1(TreeNode node,string mxnum)
{
AddtoDataSet2(mxnum);
DataView dv=new DataView(scmx11.Scmx);
dv.RowFilter="MX_NUM='"+mxnum+"'";
if(dv.Count>0)
{
foreach(DataRowView r in dv)
{
TreeNode node1=new TreeNode(r["XUHK"].ToString().PadRight(6,' ')+r["DLHK"].ToString().PadRight(6,' ')+" "+r["MYCG"].ToString());
if(r["DLHK"].ToString().EndsWith("MX"))
{
insertnode(node1,r["DLHK"].ToString().Trim());
}
node.Nodes.Add(node1);

}
}

}

private void AddtoDataSet2(string mx_num)
{
DataView dv=new DataView(this.scmx11.Scmx);
dv.RowFilter="MX_NUM='"+mx_num+"'";
if(dv.Count==0)
{
string str=this.scmxSelectOracleCommand1.CommandText;
scmxSelectOracleCommand1.CommandText=str+" where MX_NUM='"+mx_num+"' and xuhk is not null";
scmxOracleDataAdapter1.Fill(scmx11.Scmx);
scmxSelectOracleCommand1.CommandText=str;
}
}
private void AddtoDataSet(string mxnum)
{
DataView dv=new DataView(this.dataSet11.BOM);
dv.RowFilter="mxnum='"+mxnum+"'";
if(dv.Count==0)
{
string str=sqlSelectCommand1.CommandText;
sqlSelectCommand1.CommandText=str+" where mxnum='"+mxnum+"' and xuhk is not null";
sqlDataAdapter1.Fill(this.dataSet11.BOM);
sqlSelectCommand1.CommandText=str;
}

}


实现click事件

private void treeView1_Click(object sender, System.EventArgs e)
// {
// dataGrid1.DataSource=null;
// foreach(TreeNode node in treeView1.Nodes[0].Nodes)
// {
// if(node.Checked)
// {
// node.ForeColor=Color.SlateBlue;
// }
// else if(node.ForeColor==Color.SlateBlue)
// {
// node.ForeColor=Color.Gold;
// }
// if(node.ForeColor==Color.Gold)
// {
// string str=node.Text.ToString().Substring(6,21).Trim();
// DataView dv=new DataView(this.scmx11.Scmx);
// dv.RowFilter="MX_NUM='"+str+"'";
// if(dv.Count==0)
// {
// string str0=this.scmxSelectOracleCommand1.CommandText;
// scmxSelectOracleCommand1.CommandText=str0+" where MX_NUM='"+str+"' and xuhk is not null";
// scmxOracleDataAdapter1.Fill(scmx11.Scmx);
// scmxSelectOracleCommand1.CommandText=str0;
// }
// dataGrid1.DataSource=dv;
// }
// }
// }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8382469/viewspace-259858/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8382469/viewspace-259858/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值