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
Spaltennamen verschlucken Unterstriche im DataGrid im UI
Christel
myCSharp.de - Member



Dabei seit:
Beiträge: 451

Themenstarter:

Spaltennamen verschlucken Unterstriche im DataGrid im UI

beantworten | zitieren | melden

Hallo,
es geht um eine Oberfläche, die unter VS2012 mit XAML erstellt wurde, und ein darin befindliches DataGrid. Das DataGrid erhält seine Daten aus einer DataTable:


DataTable displayTable;
...
DisplayGrid.ItemsSource = displayTable.DefaultView;

Das Problem tritt auf, wenn die Spaltennamen einen oder mehrere Unterstriche "_" enthalten.

Wenn ich mir die Spaltennamen im Debugger anschaue, sind die Namen vor und nach der Zuweisung OK, also sowohl

displayTable.Columns[i].Caption
als auch

DisplayGrid.Columns[i].Header

In der GUI hingegen fehlt der erste Unterstrich.
Beim Betätigen der ALT-Taste wird zudem der erste dem Unterstrich folgende Buchstabe unterstrichen.

Beispiel:

Spaltenname = test_column
angezeigter Spaltenname: testcolumn
nach ALT: testcolumn

Hat jemand ne Idee, wie es zu dem Phänomen kommt?
Wie könnte ich erreichen, dass der Spaltenname korrekt angezeigt wird?

Vielen Dank
Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
private Nachricht | Beiträge des Benutzers
t0ms3n
myCSharp.de - Member



Dabei seit:
Beiträge: 319

beantworten | zitieren | melden

Du musst die Underscores escapen.
Das solltest Du durch doppelte Unterstriche erreichen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von t0ms3n am .
private Nachricht | Beiträge des Benutzers
Christel
myCSharp.de - Member



Dabei seit:
Beiträge: 451

Themenstarter:

beantworten | zitieren | melden

Zitat von t0ms3n
Du musst die Underscores escapen.
Das solltest Du durch doppelte Unterstriche erreichen.

Besten Dank,
heißt das, dass ich nach der Zuordnung

DisplayGrid.ItemsSource = displayTable.DefaultView;
die Unterstriche durch doppelte Unterstriche ersetzen muss, um eine korrekte Anzeige zu erhalten?

Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
private Nachricht | Beiträge des Benutzers
t0ms3n
myCSharp.de - Member



Dabei seit:
Beiträge: 319

beantworten | zitieren | melden

Ist Windonws-Forms nicht falsch?

Ich würde glaube eher einen Converter nutzen. Alternativ kann auch das Template überschrieben werden. Am Bespiel eines Labels siehe hier: Underscores not displayed in WPF

Moderationshinweis von gfoidl (01.08.2016 - 16:13:58):

Ich habs nach WPF verschoben.

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



Dabei seit:
Beiträge: 451

Themenstarter:

beantworten | zitieren | melden

Danke für den Link, ich schaue mir das mal in Ruhe an.
Es ist leider ein fremdes Projekt, in das ich mich erst einarbeiten muss.

Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
private Nachricht | Beiträge des Benutzers