Пример #1
0
        /// <summary>
        /// 初始化树列表子节点
        /// </summary>
        /// <param name="node"></param>
        /// <param name="p_objectId"></param>
        private void treeCreater(TreeListViewItem node, string p_objectId)
        {
            DataTable dt_parts = m_StructService.GetStructPartList(p_objectId);
            int       len      = dt_parts.Rows.Count;

            for (int i = 0; i < len; i++)
            {
                TreeListViewItem item = new TreeListViewItem(dt_parts.Rows[i]["PRODUCTNO"].ToString(), 0);
                node.Items.Add(item);
                //item.Expand();
                item.SubItems.Add(dt_parts.Rows[i]["VERSION"].ToString());
                item.SubItems.Add(dt_parts.Rows[i]["ASSONUM"].ToString());
                item.SubItems.Add(dt_parts.Rows[i]["MODELTYPE"].ToString());
                item.SubItems.Add(dt_parts.Rows[i]["SORTNUM"].ToString());
                item.SubItems.Add(dt_parts.Rows[i]["MEMO"].ToString());
                item.Tag = dt_parts.Rows[i]["ASSOBJECTID"].ToString();
                treeCreater(item, dt_parts.Rows[i]["ASSOBJECTID"].ToString());
            }

            DataTable dt_Materail = m_StructService.GetStructMaterailList(p_objectId);
            int       len2        = dt_Materail.Rows.Count;

            for (int i = 0; i < len2; i++)
            {
                TreeListViewItem item = new TreeListViewItem(dt_Materail.Rows[i]["MATERIALNO"].ToString(), 0);
                node.Items.Add(item);
                // item.Expand();
                item.SubItems.Add(dt_Materail.Rows[i]["VERSION"].ToString());
                item.SubItems.Add(dt_Materail.Rows[i]["ASSONUM"].ToString());
                item.SubItems.Add(dt_Materail.Rows[i]["MODELTYPE"].ToString());
                item.SubItems.Add(dt_Materail.Rows[i]["SORTNUM"].ToString());
                item.Tag = dt_Materail.Rows[i]["ASSOBJECTID"].ToString();
                item.SubItems.Add(dt_Materail.Rows[i]["MEMO"].ToString());
            }
        }
Пример #2
0
        //产品1包含产品2,产品2就不能包含产品1
        //查看产品结构是否构成循环

        private bool filterCycle(string p_assoId)
        {
            DataTable dt_parts = m_structService.GetStructPartList(p_assoId);
            bool      contain  = false;

            for (int i = 0; i < dt_parts.Rows.Count; i++)
            {
                string new_objectId = dt_parts.Rows[i]["ASSOBJECTID"].ToString();
                if (new_objectId == this.copy_Product.PRODUCTID)
                {
                    return(true);
                }
                contain = filterCycle(new_objectId);
                if (contain)
                {
                    return(true);
                }
            }
            return(contain);
        }