Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Übergabe der Daten an Diagramm funktioniert nicht.
moori64 - Di 29.11.11 00:28
Titel: Übergabe der Daten an Diagramm funktioniert nicht.
das habe ich nun in stundenlanger kleinarbeit zusammen bekommen. ich habe eine listbox , daran habe ich ein sql abfrage gebunden.
nun möchte ich aus dieser listbox einen eintrag auswählen was ich mit listbox1.selectedindex machen und will nur diesen datensatz
an das diagramm übergeben.
ist mein ansatz richtig ?
C#-Quelltext
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:
| private void Frmlieferanten_Load(object sender, EventArgs e) { this.pkw_verkaufTableAdapter.Fill(this.v2b_sqlDataSet2.pkw_verkauf);
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.DataSource = v2b_sqlDataSet2.pkw_verkauf; listBox1.DisplayMember = "Verkäufer"; listBox1.ValueMember = "Merzedes"; listBox1.SelectedIndex = 1;
eigentlich müsste ich der datasource ja eine tabelle übergeben .
chart1.DataSource = listBox1.SelectedIndex; chart1.Series["Series1"].XValueMember = listBox1.SelectedValue.ToString(); chart1.Series["Series1"].YValueMembers =listBox1.SelectedItem.ToString(); ; chart1.Series["Series1"].Name = "PKW Verkäufe"; chart1.DataBind(); chart1.Show(); |
viele grüße
uwe
conn.Close();
Moderiert von
Kha: C#-Tags hinzugefügt
Th69 - Di 29.11.11 10:56
Hallo Uwe,
mittels
C#-Quelltext
1:
| chart1.DataSource = listBox1.SelectedIndex; |
bindest du ja nur genau eine Zahl an das Chart-Control, d.h. dies ergibt keinen Sinn. Du müßtest dann wohl eine neue SQL-Abfrage durchführen (auf Basis des SelectedIndex) und dessen Werte dann an das Control binden.
P.S: Außerdem verstehe ich
C#-Quelltext
1:
| ValueMember = "Merzedes" |
nicht. Ist denn "Merzedes" ein Spaltenname deiner Tabelle? Wenn du die Automarke meinst, dann heißt die aber auch "Mercedes" (nach der Tochter von Benz) ;-)
moori64 - Di 29.11.11 12:23
Das ist ja eigentlich nur ein Beispiel ,
im neuen Buch von Galileo ist alles etwas anders erklärt, ich glaube ich hätte mir erst das Buch von 2008 kaufen sollen.
Der Schwerpunkt liegt da auf WPF. Wenn ich deine Anmerkung richtig verstanden habe , bekomme ich bei der Auswahl auf der
Listbox eine Zahl zurück . Diese Entspricht den Eintrag in der Tabelle , dies muss ich dann an die Abfrage mit einer where bedingung binden und bekomme dann einen datensatz zurück oder muss ich mir einen dataset erstellen ?
C#-Quelltext
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:
| private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { listBox1.DataSource = v2b_sqlDataSet2.pkw_verkauf; listBox1.DisplayMember = "Verkäufer"; listBox1.ValueMember = "Mercedes"; ich fahre einen und dann passiert mir sowas. listBox1.SelectedIndex = 1;
string connstr = @"data source=localhost\V2B;user id=sa;password=moori64;integrated security=false;" + "persist security info=false;initial catalog=v2b_sql";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlDataAdapter adap = new SqlDataAdapter("select * from pkw_verkauf where id = listBox1.SelectedIndex ", conn); DataTable tab = new DataTable(); adap.Fill(tab);
chart1.DataSource = tab ; chart1.Series["Series1"].XValueMember = listBox1.SelectedValue.ToString(); chart1.Series["Series1"].YValueMembers =listBox1.SelectedItem.ToString(); ; chart1.Series["Series1"].Name = "PKW Verkäufe"; chart1.DataBind(); chart1.Show(); |
Moderiert von
Th69: C#-Tags hinzugefügt
Th69 - Di 29.11.11 18:12
Hallo,
wenn du den Parameter auch korrekt übergeben würdest
C#-Quelltext
1:
| SqlDataAdapter adap = new SqlDataAdapter("select * from pkw_verkauf where id = " + listBox1.SelectedIndex, conn); |
, dann müßte es auch funktionieren...
moori64 - Mi 30.11.11 23:01
Dankeschön ,ich werde es gleich mal ausprobieren.
Viele Grüße
Uwe
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!