Feb 202006
 

Daran habe ich jetzt lange gesucht.
Ich will einem DataGrid in einer WinForm App ein neues Aussehen verpassen.
Das kann man ja mit DataGridTableStyle machen.

public static DataGridTableStyle GetGridStyle()
{
     DataGridTableStyle tableStyle = 
new DataGridTableStyle();
     tableStyle.MappingName = “CATI_History“;

     DataGridTextBoxColumn id = new DataGridTextBoxColumn();
     id.HeaderText = “DB ID“;
     id.MappingName = “ID“;
     id.Width = 2;
     id.ReadOnly = 
false;
     tableStyle.GridColumnStyles.Add(id);

     DataGridTextBoxColumn studNr = new DataGridTextBoxColumn();
     studNr.HeaderText = “Studien Nr.“;
     studNr.MappingName = “StudienNummer“;
     studNr.Width = 100;
     studNr.ReadOnly = 
false;
     tableStyle.GridColumnStyles.Add(studNr);

     return tableStyle;
}

Das Ding muss man ja noch an das DataGrid binden.

if(dgCatiLzData.TableStyles.Count == 0)
{
     dgCatiLzData.TableStyles.Clear();
     dgCatiLzData.TableStyles.Add(Helper.GetGridStyle());
}

Leider brachte das kein Erfolg. Das Problem lag bei der Zeile

tableStyle.MappingName = “CATI_History“;

Ich habe hier die Tabelle der SQL DB angegeben. Gebunden an das DataGrid
habe ich aber eine Collection vom Typ Records. Gesucht wie blöd.
Die Lösung:

tableStyle.MappingName = “Records“;

Ich muss also die Klasse angeben und nicht die Tabelle aus der DB. Irgend wie logisch. 🙂

Sorry, the comment form is closed at this time.