myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Data Table in Gridview mit Gruppierung
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Data Table in Gridview mit Gruppierung

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
amayer1983
myCSharp.de-Mitglied

Dabei seit: 15.09.2014
Beiträge: 10


amayer1983 ist offline

Data Table in Gridview mit Gruppierung

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich hoffe ich bin im Richtigen Forum.

Ich habe eine DataTable, welche ich aus SQL befülle.
Diese Möchte ich nun in einem DataGridview anzeigen.
Soweit funktioniert auch schon alles.

Nun möchte ich die Einträge nach einer bestimmten Spalte Gruppieren.
d.h. die erste Zeile mit Beleg = 1234 soll angezeigt werden, alle anderen Zeilen mit identischer Belegnummer ausgeblendet.

Ich habe das ganze aktuell wie folgt gelöst, funktioniert leider net:

C#-Code:
            da.Fill(dt);
            dt.DefaultView.ToTable(true, "Belegnummer");
            dt1 = dt;
            dataGridView1.DataSource = dt1;
11.12.2018 10:08 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.388
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Evtl.

C#-Code:
da.Fill(dt);
dt1 = dt.DefaultView.ToTable(true, "Belegnummer");
dataGridView1.DataSource = dt1;

?
11.12.2018 10:38 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
amayer1983
myCSharp.de-Mitglied

Dabei seit: 15.09.2014
Beiträge: 10

Themenstarter Thema begonnen von amayer1983

amayer1983 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

Vielen Dank, hat so erst mal funktioniert, leider sind nun alle anderen Spalten ausgeblendet, ich würde aber gerne einfach nur von jeder Belegnummer nur eine Zeile haben.
11.12.2018 10:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
amayer1983
myCSharp.de-Mitglied

Dabei seit: 15.09.2014
Beiträge: 10

Themenstarter Thema begonnen von amayer1983

amayer1983 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

hab das ganze aktuell folgendermaßen am rennen.
Funktioniert auf jeden Fall, Laufzeit ist unkritisch, da max. 500 Zeilen vor Sortieren...

C#-Code:
            string altereintrag = "";
            foreach (DataRow row in dt.Rows)
            {
                string aktuellereintrag = row["Belegnummer"].ToString();
                if (aktuellereintrag == altereintrag)

                    row.Delete();

                altereintrag = aktuellereintrag;

            }


                dataGridView1.DataSource = dt;
11.12.2018 11:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
hypersurf hypersurf ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.10.2008
Beiträge: 472
Entwicklungsumgebung: VS Studio 2019, Android Studio
Herkunft: Münster


hypersurf ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das kannst Du auch direkt über die SQL-Abfrage lösen.

Beispiel:

C#-Code:
SELECT DISTINCT(belegnummer) as belegnummer FROM TABLE WHERE ....
11.12.2018 12:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.388
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@hypersurf: Damit wird aber auch nur die Belegnummer angezeigt, nicht die restlichen Spalten.

Das geht nur mit einem INNER JOIN à la  Get single records when duplicate records exist.
11.12.2018 13:00 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
hypersurf hypersurf ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.10.2008
Beiträge: 472
Entwicklungsumgebung: VS Studio 2019, Android Studio
Herkunft: Münster


hypersurf ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hab' ich überlesen, sorry.

@amayer1983: Poste mal Dein SQL-Statement, dann können wir Dir weiterhelfen.
11.12.2018 13:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 11 Monate.
Der letzte Beitrag ist älter als 11 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 14.11.2019 05:05