Autor Beitrag
bamba
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 28.07.14 11:03 
Hallo zusammen, ich verzweifele an einem Problem mit der Aktuallisierung von der DataTable, die an mein DataGridView gebunden ist.

Ich habe auf der GUI-Schicht "MainGui" meinen DataGridView, den ich in der Controller-Schicht mit DataTable fülle, an die GUI-Schicht zurückgebe und ans "DataSource" binde.

Nun ändert eine andere Form-Oberfläche dieses DataTable und dieser Vorgang muss erneut wie oben beschrieben durchgeführt werden.
Sprich, die ganzen Events vom Grid "RowLeave, CellFormatting usw.." müssen wieder von der MainGui aus der zweiten Schicht angestoßen werden.

Code:
ModellSchicht:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
public DataTable retrive(){
 string sqlQuery = "SELECT * from meineTabellle";
                    cmd = new SqlCommand(conn, sqlQuery);
                    sqlUtil.adapter.SelectCommand = cmd;
                    match = new DataTable();
                    sqlUtil.adapter.Fill(match);

return match;
}


ControllerSchicht (sie ruft "retrive" auf);

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
public DataTable getData(ref DataTable myDataTable){

  myDataTable = obj.retrive();
  globalDataTable = currentDongel.Copy();
  obj.adapter.Update(globalDataTable );


}


GuiSchicht

HauptForm
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
private void getMyData(){

    myDataTable = objSchicht2.getData(ref myDataTable);
    myGrid.DataSource = myDataTable; //ab hier werden entsprechenden Event´s angestößen

}


NebenForm
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
private void setData(){

    objSchicht2.getData(ref myData); //sobald diese Zeile ausgeführt wird, sollte auch der Code in der Hauptform ausgeführt werden um das Grid mit neuen Daten zu zeichenen.

}



Aber die Events in der Hauptform werden nicht angesprochen :(
Somit bleibt das Grid auf dem alten Zustand.

Danke für jeden Tipp
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 28.07.14 11:22 
Wird die gleiche DataTable Instanz verwendet?
Der
ausblenden C#-Quelltext
1:
public DataTable getData(ref DataTable myDataTable){					

Methode kann man das so wie du sie zeigst nicht ansehen. So ist das übergeben per ref auch Unsinn. Zeig uns wie die Methode wirklich aussieht.