Business Intelligence Blog

Welcome on Business Intelligence Blog !!!

This blog is dedicated to Business Intelligence technologies under SAS9 and SQL Server 2005.

Calendrier

Novembre 2009
L M M J V S D
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
<< < > >>

MVP Blog

Recommander

W3C

  • Flux RSS des articles
Mardi 24 mars 2009
Toujour sur le périmètre de la recherche des dépendances de tables, je fait un petit point intermédiaire de manière à les restituer dans mon IHM. Le plus simple est de les afficher dans un treeview.

Pour résumer, lorsque du clic sur le bouton "Analyse" de l'UI,
Je force pour l'analyse sur une base Sample de MS comme suit :


___

private void analyseToolStripMenuItem_Click(object sender, EventArgs e)

        {

            bool state = false;

            #region comments

            //if (UserMenuItem.Text == "" && PasswordMenuItem.Text == "")

            //{

            //    state = _tp.ConnectToDatabase(ServerMenuItem.Text,

            //                                  dbListCombo.SelectedText,

            //                                  ServerAuthMode.Integrated,

            //                                  null, null);

            //}

            //else

            //{

            //    state = _tp.ConnectToDatabase(ServerMenuItem.Text,

            //                                  dbListCombo.SelectedText,

            //                                  ServerAuthMode.Integrated,

            //                                  UserMenuItem.Text, PasswordMenuItem.Text);               

            //}    

            #endregion

 

            state = _tp.ConnectToDatabase(@".\BILAB2008","AdventureWorks",ServerAuthMode.Integrated,null,null);

 

            _tp.TableName = "SalesOrderHeader";

            _tp.Schema = "Sales";

 

            _tp = _tp.AnalyseDatabaseBy("SalesOrderHeader","Sales");

            TreeNode treeNode = new TreeNode();

 

            /* convert TreePath Tree into a TreeNode for display */

            this.AdaptTablePath(ref treeNode, _tp);

            DatabaseTreeView.Nodes.Add(treeNode);

        }


___

L'élément clef pour alimenter notre Trevview est l'objet treeNode. Nous l'alimentons en récurisif :

____

private void AdaptTablePath(ref TreeNode node, TablePath tablePath)

{

    node.Text = tablePath.TableName;

    if (tablePath.Childs != null)

    {

        foreach (TablePath tp in tablePath.Childs)

        {

            TreeNode childNode = new TreeNode(tp.TableName);

            AdaptTablePath(ref childNode, tp);

            node.Nodes.Add(childNode);

        }

    }

}


____

 
Par Renaud Harduin - Publié dans : SMO
Ecrire un commentaire - Voir les commentaires - Recommander
Retour à l'accueil
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus