GridView bleibt leer



  • Hallo,

    ich möchte einen DataGridView (WinForms) füllen.

    Daten aus der Datenbank holen

    public static DataTable AlleLieferartikelLieferant(Int32 no)
            {
                string strSQL;
    
                strSQL = @"SELECT DISTINCT a.bauteilnr, b.firma_standort AS Lieferant, a.lieferartikelbezeichnung AS 'Artikelbezeichnung Lieferant', a.lieferartikelid AS 'Artikelnummer Lieferant', a.preis AS Preis, a.anzahlpropreis AS 'Anzahl pro Preis'
                           FROM tbllieferartikel a, tblkundeninfo c, tblstandort b 
                           WHERE b.StandortID = c.StandortID 
                           AND a.KundenNr = c.KundenNr 
                           AND c.GeschaeftsartID = 2 
                           AND c.StandortID = ?supplierno
                           ORDER BY b.firma_standort";
    
                using (var con = new MySqlConnection(Program.connection))
                {
                    var command = new MySqlCommand(strSQL, con);
                    command.Parameters.Add("?supplierno", MySqlDbType.Int32);
                    command.Parameters["?supplierno"].Value = no;
                    var da = new MySqlDataAdapter();
                    DataTable dt = new DataTable("Lieferartikel");
                    da.SelectCommand = command;
                    da.Fill(dt);
                    con.Dispose();
                    return dt;
                }
            }
    

    Aufruf der Methode

    private void cbLieferant_SelectedIndexChanged(object sender, EventArgs e)
            {
                 Addresse lieferant= cbLieferant.SelectedItem as Addresse;
                 if (lieferant!= null)
                 {
                     gridViewLieferant.DataBindings.Clear();
    
                     BindingSource bs = new BindingSource();
                     AlleLieferartikelLieferant(lieferant.ID);
                     gridViewLieferant.DataSource = bs;
                 }
            }
    

    Keine Ahnung warum, aber es werden keine Daten im Grid angezeigt.
    Der Parameterwert wird richtig übergeben und auch das SQL-Statment ist richtig.

    Keine Fehlermeldung ... einfach nichts.

    Wo kann sich der Fehler eingeschlichen haben? 😕
    Danke!



  • Vielleicht solltest Du mit dem Rückgabewert (DataTable) von AlleLieferartikelLieferant() auch irgendwas anfangen und nicht einfach ins Leere laufen lassen.



  • Und wo füllst du

    bs.DataSource
    

    ?



  • Peinlich ... sorry! 😮

    Habe Copy & Paste gemacht und beim Ändern des Methodennamens wohl ein wenig zu viel gelöscht ...

    Jetzt geht es - danke Euch!

    bs.DataSource = AlleLieferartikelLieferant(lieferant.ID);
    

Anmelden zum Antworten