Treeview

C#debutant Messages postés 7 Date d'inscription mercredi 2 avril 2014 Statut Membre Dernière intervention 23 avril 2014 - 23 avril 2014 à 08:24
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 24 avril 2014 à 13:25
Bonjour à tous aujourd'hui je créer un treeview, mon objectif est de recupere le noeud choisi par l utilisateur afin de mettre a jour un combotext or le noeud choisi par l'utilisateur se trouve être le 3 eme fils de l'element racine.
Voici mon code:
public partial class Test : Form
{
public MySqlCnx cnx;
public Test()
{
InitializeComponent();
}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
cnx = Identif.cnx;
if (e.Node.Parent.Text.StartsWith("Demandes"))
{
if (e.Node.Text.StartsWith("Traitées"))
{
DataSet dt = cnx.getDataSet("SELECT DISTINCT demandeur from tbldemande where traite = 1 and consultation = 0");

foreach(DataRow row in dt.Tables[0].Rows)
{
TreeNode demt = new TreeNode(row["demandeur"].ToString());
treeView1.Nodes[0].Nodes[0].Nodes.Add(demt);
}

}
else
{
DataSet dn = cnx.getDataSet("SELECT DISTINCT demandeur from tbldemande where traite = 0 and consultation = 0");
foreach (DataRow row in dn.Tables[0].Rows)
{
TreeNode demn = new TreeNode(row["demandeur"].ToString());

treeView1.Nodes[0].Nodes[1].Nodes.Add(demn);

}
}
}
else if ((e.Node.Parent.Text.StartsWith("Consultations")))
{
if (e.Node.Text.StartsWith("Traitées"))
{
DataSet ct = cnx.getDataSet("SELECT DISTINCT demandeur from tbldemande where traite = 1 and consultation = 1");

foreach(DataRow row in ct.Tables[0].Rows)
{
TreeNode cont = new TreeNode(row["demandeur"].ToString());
treeView1.Nodes[1].Nodes[0].Nodes.Add(cont);
}
}
else
{
DataSet cn = cnx.getDataSet("SELECT DISTINCT demandeur from tbldemande where traite = 0 and consultation = 1");
foreach (DataRow row in cn.Tables[0].Rows)
{
TreeNode conn = new TreeNode(row["demandeur"].ToString());
treeView1.Nodes[1].Nodes[1].Nodes.Add(conn);
}
}
}
MessageBox.Show(treeView1.SelectedNode.ToString());
//comboBox1.Text = cnx.getDataSet("Select numerodemande from tbldemande where demander = '" + treeView1..ToString() + "'").ToString();
}
Mon problème se trouve donc lorsque je veux mettre a jour mon comboBox ma requete est bonne sauf pour la condition qui correspond a mon noeud choisi.
Merci d'avance.

1 réponse

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
24 avril 2014 à 13:25
Salut,

le + simple est d'utiliser la propriétée : SelectedNode

if( monTreeView.SelectedNode != null )
{
// utilise le noeud monTreeView.SelectedNode
}

Sinon y'a les events très utiles que sont AfterSelect() et AfterExpand()

Bye...
0
Rejoignez-nous