by
Roland Schumacher alias GENiALi
20. Februar 2006 -- 112
words -- 1267 mal gelesen
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. :-)