2 Listboxen

Liebe/-r Experte/-in,
ich habe mal eine Frage zu Visual C# 2008.Ich habe 2 Listboxen.Listbox 1 ist der Master,Listbox 2 der Slave.Wenn ich z.B. in Listbox 1 ein Pkw anklicke,möchte ich in Listbox 2 die dazu gehörenden Ersatzteile aufgelistet haben(Ohne Datenbank).Ich habe eine Klasse Pkw und eine Klasse Ersatzteile erstellt,beide mit korrespondierenden Kennzeichen.Wie verbinde ich jetzt die Objekte der Pkw-Klasse mit der Ersatzteile-Klasse?Ich habe das soweit am Laufen,aber nur wenn ich die Pkw-Listbox ohne Sort anzeigen lasse.Mit Sort der Pkw-Klasse schmeisst er alles durcheinander.Evtl. kann ich mal den Code mailen.

Viele Grüsse und vielen Dank

Peter Wohlrapp(Visual C# Beginner)
[email protected]

Hallo Herr Wohlrapp,

ich würde im Object PKW ein Array bzw. eine Liste (List) anlegen. Wenn sie die Daten an die Listenboxen binden das Object mit in die Listbox übergeben. Bei der Auswahl eines bestimmten Objects PKW einfach dann die Liste der Ersatzteile aus dem Array/List nehmen. Also im OnChangeEvent der Listbox auf die Änderung reagieren und die zweite Listbox mit den Daten aus dem Array/List füllen. So besteht zwischen dem PKW und Ersatzteil Object eine 1-n Beziehung wie in einer Datenbank. Wenn sie nicht weiterkommen übersenden sie mir den Sourcecode.

Grüße

S. Dillinger

Hallo Herr Dillinger,vielen Dank für Ihre Antwort.Ich schicke Ihnen mal den Code als Textfile.Wenn Sie mal freundlicherweise diesen anschauen und mir aufs Pferd helfen.Ich verwende Visual C# 2008 Express Edition von Microsoft.

Danke und freundliche Grüsse
*************Klassen Deklaration **********************************************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PList4
{
class Class1
{
string kzauto;
string fahrzeug;
public Class1(string kezi, string fz)
{
kzauto = kezi;
fahrzeug = fz;
}
public string Hol_pkw_kz
{
get { return kzauto; }
}
public string Hol_pkw
{
get { return fahrzeug; }
}

}
class Class2
{
string kzteile;
string ersatzteil;
public Class2(string k, string e)
{
kzteile = k;
ersatzteil = e;
}
public string Hol_teil_kz
{
get { return kzteile; }
}
public string Hol_teile
{
get { return ersatzteil; }
}
}

}
********************ab hier ist das Code-Listing************************************************************************
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PList4
{
public partial class Form1 : Form
{
int i,j;
private ArrayList pkw = new ArrayList);/*Auto*/
private ArrayList eteile = new ArrayList();
/*Teile*/
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
i = 0;
pkw.Add(new Class1(„a“, „Audi“));i++;
pkw.Add(new Class1(„b“, „Mercedes“));i++;
pkw.Add(new Class1(„c“, „Opel“));i++;
pkw.Add(new Class1(„d“, „Fiat“));i++;
pkw.Add(new Class1(„e“, „Porsche“));i++;
pkw.Add(new Class1(„f“, „BMW“));i++;
pkw.Add(new Class1(„g“, „VW“));i++;
pkw.Add(new Class1(„h“, „Ford“)); i++;
eteile.Add(new Class2(„a“, „Achse“));
eteile.Add(new Class2(„a“, „Lenkrad“));
eteile.Add(new Class2(„b“, „Reifen“));
eteile.Add(new Class2(„b“, „Sitze“));
listBox1.DataSource = pkw;
listBox1.DisplayMember = „Hol_pkw“;
listBox1.ValueMember = „Hol_pkw_kz“;
listBox1.SelectedIndex = 0;
listBox2.DataSource = eteile;
listBox2.DisplayMember = „Hol_teile“;
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
/* Loop durch alle Ersatzteile,bei Match Ausgabe in ListBox2*/
for (j = 0; j

Hallo,

unter http://rs554.rapidshare.com/files/364004470/TestAppl… können Sie ein Beispiel Projekt herunterladen.
In diesem habe ich Ihren Code verwendet um ihn um meine Ideen ergänzt. Müsste soweit funktionieren.
Das Passwort für das Zipfile lautet 12345.

Grüße

S. Dillinger

Hallo,

unter
http://rs554.rapidshare.com/files/364004470/TestAppl…
können Sie ein Beispiel Projekt herunterladen.
In diesem habe ich Ihren Code verwendet um ihn um meine Ideen
ergänzt. Müsste soweit funktionieren.
Das Passwort für das Zipfile lautet 12345.

Hallo Herr Dillinger,
Super,ich bedanke mich recht herzlich für Ihre Mühe.

Mit freundlichen Grüssen

Peter Wohlrapp

Grüße

S. Dillinger