bom查询



        private void setTreeView(TreeView tr1, string cparentId)
        {
            int i_count;
            string str_table = "pbom";
            string str_sql = "select partid,t.part_name,parentid from pbom p join parts t on p.partid = t.part_no where parentId='" + cparentId + "';";
            DataSet ds = boperate.getds(str_sql, str_table);
            i_count = ds.Tables[0].Rows.Count;
            if (i_count > 0)
            {
                string pId = "-1";
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    TreeNode node = new TreeNode();
                    node.Text = row["part_name"].ToString();
                    node.Tag = row["partid"].ToString();
                    pId = row["parentId"].ToString();
                    if (pId == "0")
                    {
                        //添加根节点
                        tr1.Nodes.Add(node);
                    }
                    else
                    {
                        //添加根节点之外的其他节点
                        RefreshChildNode(tr1, node, pId);
                    }
                    //查找以node为父节点的子节点
                    setTreeView(tr1, node.Tag.ToString());

                }
            }
            tvBom.ExpandAll();
        }
        private void RefreshChildNode(TreeView tr1, TreeNode treeNode, string parentId)
        {
            foreach (TreeNode node in tr1.Nodes)
            {
                if (node.Tag.ToString() == parentId)
                {
                    node.Nodes.Add(treeNode);
                    return;
                }
                else if (node.Nodes.Count > 0)
                {
                    FindChildNode(node, treeNode, parentId);
                }
            }
        }
        private void FindChildNode(TreeNode tNode, TreeNode treeNode, string parentId)
        {

            foreach (TreeNode node in tNode.Nodes)
            {
                if (node.Tag.ToString() == parentId)
                {
                    node.Nodes.Add(treeNode);
                    return;
                }
                else if (node.Nodes.Count > 0)
                {
                    FindChildNode(node, treeNode, parentId);

                }

            }

        }

调用,bom表中没有保存parentid为0的成品,需要新增树根节点。

TreeNode node1 = new TreeNode();
node1.Tag = partNo;
node1.Text = txtPartName.Text.Trim();
tvBom.Nodes.Add(node1);
setTreeView(tvBom, partNo);



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值