IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: C# WPF - DataGrid zarovnání hodnot ve sloupci doprava pomocí kódu

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Navry
Člen
Avatar
Navry:3.2.2021 16:09

Potřeboval bych programově zarovnat hodnoty v sloupcích datagridu doprava.

jak inicializuju ten datagrid:
0. vytvořím si List s testovacími daty

  1. vytvářím jednotlivé sloupce, všechno to jsou DataGridTextCo­lumn, nastavuju jim Header, Binding a StringFormat.
  2. přidávám jednotlivé sloupce do datagridu
  3. nastavuji ItemsSource na ten list s hodnotami

Zkusil jsem: zkoušel jsem toto:

Style s = new Style();
s.Setters.Add(new Setter(Control.HorizontalContentAlignmentProperty, HorizontalAlignment.Right));
columnPlace.CellStyle = s;

Chci docílit: jeden sloupec datagridu bude zarovnán doleva (to je default) a všechny ostatní sloupce budou zarovnány doprava.

 
Odpovědět
3.2.2021 16:09
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Navry
Tadeáš Burda :3.2.2021 19:00

stackoverflow ten posledny koment ti nepomoze?

 
Nahoru Odpovědět
3.2.2021 19:00
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Navry
Tadeáš Burda :3.2.2021 19:00

toto konkretne

s.Setters.Add(new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Right));
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
3.2.2021 19:00
Avatar
Navry
Člen
Avatar
Odpovídá na Tadeáš Burda
Navry:4.2.2021 10:45

Ještě bych potřeboval nastavit národní prostředí.
Zkoušel jsem:

public MainWindow()
{
    InitializeComponent();
    //InitializeCultureInfo();
    Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("cs");
    Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("cs");

    DataContext = new MainWindowViewModel(this);
    System.Diagnostics.Debug.WriteLine("Current number decimal separator: " + Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
}

ale v datagridu je pořád desetinná tečka místo čárky.

 
Nahoru Odpovědět
4.2.2021 10:45
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Navry
Tadeáš Burda :4.2.2021 15:38

stackoverflow ...prve co mi vihodil google

 
Nahoru Odpovědět
4.2.2021 15:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.