Laden...

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

Erstellt von Startup vor 12 Jahren Letzter Beitrag vor 12 Jahren 941 Views
Thema geschlossen
S
Startup Themenstarter:in
1 Beiträge seit 2012
vor 12 Jahren
Datagrid in einer Form über eine Methode aus einer Klasse befüllen

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.

_
48 Beiträge seit 2011
vor 12 Jahren
Hinweis von herbivore vor 12 Jahren

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;
   }
}
T
111 Beiträge seit 2005
vor 12 Jahren

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

_
48 Beiträge seit 2011
vor 12 Jahren

Ok, war schon spät und ich hab nicht weiter darüber nachgedacht. Da hast du natürlich recht.

Hinweis von herbivore vor 12 Jahren

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.

Thema geschlossen