Hi I am just breaking my head in creating the Catia product structure into a treeview which shows the hierarchical structure just as in the opened document. I dont get idea how to recursively implement the same though have tried
Can anyone point wat i am missing. My part of code:
private void GetLinks(ProductStructureTypeLib.Product ProdPar, TreeNode rootnode)
{
MytreeView.Nodes.Add(rootnode);
MytreeView.Nodes.Add(rootnode);
if (ProdPar.Products.Count > 0)
{
foreach (ProductStructureTypeLib.Product child in ProdPar.Products)
{
INFITF.Document childDoc = (INFITF.Document)child.ReferenceProduct.Parent;
TreeNode childnode = new TreeNode();
childnode.Text = childDoc.get_Name();
treeList.Add(childDoc.get_Name());
rootnode.Nodes.Add(childnode);//childnode added--level 1
if (!IsDocumentAPart(childDoc))
{
ProductStructureTypeLib.Product prodRoot;
ProductStructureTypeLib.ProductDocument prodDoc;
prodDoc = (ProductStructureTypeLib.ProductDocument)childDoc;
prodRoot = prodDoc.Product;
if (prodRoot.Products.Count > 0)
{
ReadLinksChild(prodRoot, childnode);
}
}
}
}
private void ReadLinksChild(ProductStructureTypeLib.Product ProdPar, TreeNode node)
{
try
{
foreach (ProductStructureTypeLib.Product child in ProdPar.Products)
{
INFITF.Document childDoc = (INFITF.Document)child.ReferenceProduct.Parent;
TreeNode childnode = new TreeNode();
childnode.Text = childDoc.get_Name();
node.Nodes.Add(childnode);//childnode added--level 1
if (!IsDocumentAPart(childDoc))
{
ProductStructureTypeLib.Product prodRoot;
ProductStructureTypeLib.ProductDocument prodDoc;
prodDoc = (ProductStructureTypeLib.ProductDocument)childDoc;
prodRoot = prodDoc.Product;
if (prodRoot.Products.Count > 0)
{
ReadLinkedDocsProductChild(prodRoot, childnode);
}
}
}
}
catch (Exception ex)
{
logs.Info(ex.ToString());
}
}
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP