Diskuze: DataGrid - rôzne umiestnenie textu v tabuľke

C# .NET .NET (C# a Visual Basic) DataGrid - rôzne umiestnenie textu v tabuľke American English version English version

Avatar
Libor Šimo (libcosenior):

Aby som to vysvetlil.
Mám Datagrid cez súbor App.xaml nastavený tak, že vo všetkých troch stĺpcoch je text umiestnený v strede.

<Style TargetType="DataGridCell">
    <Style.Setters>
        <Setter Property="TextBlock.TextAlignment" Value="Center" />
    </Style.Setters>
</Style>

Ale potrebujem, aby stredný stĺpec nebral toto nastavenie do úvahy.

<DataGrid.Columns>
    <DataGridTextColumn Header="VČM" Binding="{Binding Vcm}" Width="100" />
    <DataGridTextColumn Header="Názov materiálu" Binding="{Binding Material}" Width="400" />
    <DataGridTextColumn Header="Inv/Množ" Binding="{Binding InvMnoz}" Width="70" />
</DataGrid.Columns>

Poradí niekto?

Odpovědět 27.9.2015 14:58
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Jan Vargovský
Redaktor
Avatar
Avatar
Odpovídá na Jan Vargovský
Libor Šimo (libcosenior):

To môžem ale len zmazať nastavenie v App.xaml. Mám pocit, že budem musieť každý stĺpec nastaviť osobitne...

Nahoru Odpovědět 27.9.2015 15:43
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Jan Vargovský
Libor Šimo (libcosenior):

Myslel som si, že bude možné pre niektorý element nastavený v App.xaml jednoducho nastaviť defaultné nastavenie, teda bez nastavenia v App.xaml.

Nahoru Odpovědět 27.9.2015 16:29
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:

A nedá se jen nastavit u toho konkrétního sloupce požadované zarovnání?

<DataGrid.Columns>
    <DataGridTextColumn Header="VČM" Binding="{Binding Vcm}" Width="100" />
    <DataGridTextColumn Header="Názov materiálu" Binding="{Binding Material}" HorizontalAlignment="Left" Width="400" />
    <DataGridTextColumn Header="Inv/Množ" Binding="{Binding InvMnoz}" Width="70" />
</DataGrid.Columns>
Editováno 27.9.2015 20:51
Nahoru Odpovědět 27.9.2015 20:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Nahoru Odpovědět 28.9.2015 8:52
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:

Tak si z toho sloupce musíš udělat "Template"
Např. takto mám v jedné svojí aplikaci nastaven sloupec v DataGridu

<DataGridTemplateColumn Header="Poznámka">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding PoznAutor}" Foreground="Blue"/>
                                    <TextBlock Text=" - "/>
                                    <TextBlock Text="{Binding PoznDatum, StringFormat={}{0:d.M.yyyy}}" FontStyle="Italic"/>
                                </StackPanel>
                                <TextBlock Text="{Binding PoznText}" Width="450" TextWrapping="Wrap"/>
                            </StackPanel>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

a v tom template si pak nastavíš co potřebuješ...

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 28.9.2015 8:58
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):

Nejak tak som to myslel, keď som písal že každý stĺpec budem musieť nastaviť osobitne.

Nahoru Odpovědět 28.9.2015 9:57
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Nahoru Odpovědět 28.9.2015 10:13
Aj tisícmíľová cesta musí začať jednoduchým krokom.
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 9 zpráv z 9.