Hallo zusammen
nach langer vb und c# Abstinenz versuche ich von Forms auf WPF umzusteigen und bin doch sehr begeistert.
Ich möchte nun Notes automatisch aus einer SQL-Tabelle erstellen lassen. Die Tabelle heisst tb_contcat. Die Tabelle hat die Spalte ID und ContCat(Kontaktkategorien) mit den einträgen {Privat, Sport, Schule}
ich habe es nun hingebrach das diese drei als Item vom Note Kontakte angezeigt wird.
Eigentlich sollen aber die drei Contcat's als Note erstellt werden. In einem zweiten Schritt soll dann wenn z.B. das Note Sport angeklickt wurde von der Tabelle tb_Contacts mit einer WHERE Klausel abgefragt werden welcher Kontakt in der Spalte ID_ContCat mit dem selected Node übereinstimmt. Leider weiss ich nicht wie ich die ID vom Node erhalte.
Zusammengefasst:
Wie kann ich die Node auf der SQL-Tb tb_contcat erstellen lassen?
Wie erhalte ich die SQL-ID des geklicken Node's?
Mein XAML Code
mein Code-Behind:
Ich danke euch für eure Hilfe und wünsche ein tolles Wochenende
nach langer vb und c# Abstinenz versuche ich von Forms auf WPF umzusteigen und bin doch sehr begeistert.
Ich möchte nun Notes automatisch aus einer SQL-Tabelle erstellen lassen. Die Tabelle heisst tb_contcat. Die Tabelle hat die Spalte ID und ContCat(Kontaktkategorien) mit den einträgen {Privat, Sport, Schule}
ich habe es nun hingebrach das diese drei als Item vom Note Kontakte angezeigt wird.
Eigentlich sollen aber die drei Contcat's als Note erstellt werden. In einem zweiten Schritt soll dann wenn z.B. das Note Sport angeklickt wurde von der Tabelle tb_Contacts mit einer WHERE Klausel abgefragt werden welcher Kontakt in der Spalte ID_ContCat mit dem selected Node übereinstimmt. Leider weiss ich nicht wie ich die ID vom Node erhalte.
Zusammengefasst:
Wie kann ich die Node auf der SQL-Tb tb_contcat erstellen lassen?
Wie erhalte ich die SQL-ID des geklicken Node's?
Mein XAML Code
XML-Quellcode
- <Window x:Class="_07_WPF_CS_TreeView_DB.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:self="clr-namespace:_07_WPF_CS_TreeView_DB"
- mc:Ignorable="d"
- Title="MainWindow" Height="200" Width="250">
- <Grid Margin="10">
- <TreeView Name="trvFamilies" SelectedValuePath="trv_ItemSelected" >
- <TreeView.Resources>
- <HierarchicalDataTemplate DataType="{x:Type self:Kontakte}" ItemsSource="{Binding Members}">
- <StackPanel Orientation="Horizontal">
- <Image Source="/Person-Male-Light-icon.png" Margin="0,0,5,0" />
- <TextBlock Text="{Binding Name}" />
- <TextBlock Text=" [" Foreground="Blue" />
- <TextBlock Text="{Binding Members.Count}" Foreground="Blue" />
- <TextBlock Text="]" Foreground="Blue" />
- </StackPanel>
- </HierarchicalDataTemplate>
- <DataTemplate DataType="{x:Type self:KontakteMember}">
- <StackPanel Orientation="Horizontal">
- <Image Source="/WpfTutorialSamples;component/Images/user.png" Margin="0,0,5,0" />
- <TextBlock Text="{Binding Name}" />
- <TextBlock Text=" (" Foreground="Green" />
- <TextBlock Text="{Binding Age}" Foreground="Green" />
- <TextBlock Text=" years)" Foreground="Green" />
- </StackPanel>
- </DataTemplate>
- </TreeView.Resources>
- </TreeView>
- </Grid>
- </Window>
mein Code-Behind:
C#-Quellcode
- using System.Collections.Generic;
- using System.Windows;
- using System.Collections.ObjectModel;
- using MySql.Data.MySqlClient;
- namespace _07_WPF_CS_TreeView_DB
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- List<Kontakte> families = new List<Kontakte>();
- Kontakte family1 = new Kontakte() { Name="Kontakte" };
- //baum aus DB mittels Schleife erstellen
- using (MySqlConnection sqlConnection = new MySqlConnection("Data Source=localhost;Initial Catalog=db_verwatoo;UID=tester;pwd=test1234;SslMode=none;"))
- {
- MySqlCommand sqlCmd = new MySqlCommand("SELECT * FROM tb_contcat", sqlConnection);
- sqlConnection.Open();
- MySqlDataReader sqlReader = sqlCmd.ExecuteReader();
- while (sqlReader.Read())
- {
- family1.Members.Add(new KontakteMember() { Name = sqlReader["Kategorie"].ToString() });
- }
- sqlReader.Close();
- }
- families.Add(family1);
- trvFamilies.ItemsSource = families;
- }
- }
- public class Kontakte
- {
- public Kontakte()
- {
- this.Members = new ObservableCollection<KontakteMember>();
- }
- public string Name { get; set; }
- public ObservableCollection<KontakteMember> Members { get; set; }
- }
- public class KontakteMember
- {
- public string Name { get; set; }
- public int Age { get; set; }
- }
- }
Ich danke euch für eure Hilfe und wünsche ein tolles Wochenende