Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Datagrid in einer Form über eine Methode aus einer Klasse befüllen
Startup
myCSharp.de - Member



Dabei seit:
Beiträge: 1
Herkunft: Rakstad

Themenstarter:

Datagrid in einer Form über eine Methode aus einer Klasse befüllen

beantworten | zitieren | melden

Hallo,

ich hab eine Methode in einer Klasse und möchte mit dieser Methode ein Datagrid in einer Form befüllen.
Hab, aber keine Idee wie ich die Referenz des Datagrids übergeben kann oder so.
private Nachricht | Beiträge des Benutzers
_Bugrick_
myCSharp.de - Member



Dabei seit:
Beiträge: 51

beantworten | zitieren | melden

Moderationshinweis von herbivore (05.01.2012 - 08:32:04):

Der Verweis auf die Grundlagen ist berechtigt. Dagegen beantwortet die vorgeschlagene Lösung zwar direkt die Frage des Thread-Starters, ist aber sehr schlechter Stil und sollte auf keinen Fall verwendet werden. Siehe die nachfolgende Diskussion.


Hallo,

das sind Grundlagen. Erkundige dich bitte das nächste mal selbst.

public class clsOwn
{
   public clsOwn()
   {
      DataTable dt = new DataTable();

      new frmMain(dt);
   }
}


public class frmMain : Form
{
   public frmMain(DataTable dt)
   {
      dgv.DataSource = dt;
   }
}
private Nachricht | Beiträge des Benutzers
thomas.at
myCSharp.de - Member



Dabei seit:
Beiträge: 102
Herkunft: Österreich / Wien

beantworten | zitieren | melden

Hallo

@_Bugrick_ Wer im Glashaus sitzt ...

Eine Klasse sollte nie das Mainform kennen sondern nur umgekehrt. Das ganze sollte also so aussehen:



public class frmMain : Form
{
   public frmMain()
   {
      Logic logic = new Logic();
      dgv.DataSource = logic.GetData();
   }
} 


public class Logic
{
   public DataTable GetData()
   {
      DataTable dt = new DataTable();
      // Daten laden
      return (dt);
   }
}



Aber das sind nun wirklich die Grundlagen ;-)

Thomas
private Nachricht | Beiträge des Benutzers
_Bugrick_
myCSharp.de - Member



Dabei seit:
Beiträge: 51

beantworten | zitieren | melden

Ok, war schon spät und ich hab nicht weiter darüber nachgedacht. Da hast du natürlich recht.
private Nachricht | Beiträge des Benutzers

Moderationshinweis von herbivore (05.01.2012 - 08:29:10):

Wie schon gesagt, solltest du keine Referenzen von Controls an (Business-)Klassen übergeben. Diese sollten das GUI überhaupt nicht kennen.

Bitte eigne dir zuerst die Grundlagen an, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und [FAQ] Wie finde ich den Einstieg in C#?

Siehe auch [FAQ] Kommunikation von 2 Forms analog.