Autor Beitrag
moori64
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: Di 29.11.11 00:28 
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 ?

ausblenden 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)
      {
          // TODO: Diese Codezeile lädt Daten in die Tabelle "v2b_sqlDataSet2.pkw_verkauf". Sie können sie bei Bedarf verschieben oder entfernen.
          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; /* Übergabe der Daten ans Diagramm */
          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 user profile iconKha: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 29.11.11 10:56 
Hallo Uwe,

mittels
ausblenden 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
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: 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 ?
ausblenden 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 ; /* Übergabe der Daten ans Diagramm */
          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 user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 29.11.11 18:12 
Hallo,

wenn du den Parameter auch korrekt übergeben würdest
ausblenden C#-Quelltext
1:
SqlDataAdapter adap = new SqlDataAdapter("select * from pkw_verkauf where id = " + listBox1.SelectedIndex, conn);					
, dann müßte es auch funktionieren...
moori64 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: Mi 30.11.11 23:01 
Dankeschön ,ich werde es gleich mal ausprobieren.

Viele Grüße

Uwe