Benutzer mit den meisten Antworten
Anfänger Problem !

Frage
-
Hallo Community,
ich bin neu in C# und habe eine Aufgabe bekommen aber kann sie leider nicht lösen. Nach dem ich etliche Foren etc durchsucht habe und NICHTS gefunden habe versuch ich es hier.
Aufgabe ich soll von einer Datenbank eine Tabelle auslesen und sie in einer Listbox ausgeben hat funktioniert.
Aufgabe ich soll aus der Listbox die inhalte auslesen und in eine weitere Listbox auslesen und ausgeben.Problem Ich schaff es nicht von Listbox1 per klick auf das Item in Listbox2 die Inhalte auszulese.
Hier mein Code bis jetz.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Text.RegularExpressions; using System.Web; using System.IO; using eRoom.eRoomAPI; namespace Projekt_123 { public partial class Form1 : Form { private ERUApplication app = null; private ERUUserContext ctx = null; public Form1() { InitializeComponent(); } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void button1_Click_1(object sender, EventArgs e) { app = new ERUApplication(); ctx = new ERUUserContext(); listBox1.MultiColumn = true; // Login to eroom app.LoginUser(1, ERUParameterType.erParamTypeID); ctx.ImpersonateUser(1, ERUParameterType.erParamTypeID); //Communities read //========================================== // L-i-s-t-b-o-x-1 //========================================== foreach (IERUCommunity community in app.Site.CommunityManager.Communities) { string sComName = community.Name; listBox1.Items.ToString(); this.Controls.Add(listBox1); listBox1.SelectionMode = SelectionMode.MultiExtended; listBox1.Items.Add(sComName); //===================================== //LIST BOX 2 //===================================== // Keine Ahnung wie ich anfangen soll :/ Console.WriteLine(sComName); } } Console.ReadLine(); } } }
Bin echt kurz vorm verzweifeln bitte um Antwort !
Antworten
-
Ok dann nutzt du am besten das SelectedIndex Changed Event der ListBox1. Dort holst du dir dann mit dem SelectedItem das aktuell selektierte Item in ListBox1 und lädst anhand dessen die Daten aus der DB in ListBox2.
Hier ein einfaches Beispiel:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { this.LadeDatenInListBox2(listBox1.SelectedItem); } private void LadeDatenInListBox2(object selectedItem) { //Daten aus Datenquelle holen und in Listbox2 einfügen, so wie du es mit ListBox1 gemacht hast. //... }
- Als Antwort markiert felixgg Donnerstag, 3. November 2011 09:29
Alle Antworten
-
Ich habe deine Frage nicht ganz verstanden. Du möchtest per ListBox Click den Inhalt aus ListBox1 und ListBox2 auslesen?
Du kannst über die SelectedItem Eigenschaft der jeweiligen ListBox das selectierte Item herausbekommen.
Schau dir mal folgenden Link an:
http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.selecteditem.aspx- Bearbeitet Marco Pangritz Donnerstag, 3. November 2011 09:11
-
Ok dann nutzt du am besten das SelectedIndex Changed Event der ListBox1. Dort holst du dir dann mit dem SelectedItem das aktuell selektierte Item in ListBox1 und lädst anhand dessen die Daten aus der DB in ListBox2.
Hier ein einfaches Beispiel:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { this.LadeDatenInListBox2(listBox1.SelectedItem); } private void LadeDatenInListBox2(object selectedItem) { //Daten aus Datenquelle holen und in Listbox2 einfügen, so wie du es mit ListBox1 gemacht hast. //... }
- Als Antwort markiert felixgg Donnerstag, 3. November 2011 09:29
-
>>soll ich dann genau gleich den Vorgang wiederholen also auch mit foreach .......
Das kannst du machen.
Hast du die ListBoxen auf das Windows Form per Designer gezogen oder fügst du diese dynamisch per Code zu?
Wenn du den Designer benutzt hast, dann sind ein paar Anweisungen überflüssig, dies sollte reichen:foreach (IERUCommunity community in app.Site.CommunityManager.Communities) { string sComName = community.Name; listBox1.Items.Add(sComName); }
- Bearbeitet Marco Pangritz Donnerstag, 3. November 2011 09:43