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

Aktivity (1)
Avatar
Libor Šimo (libcosenior):27.9.2015 14:58

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
Odpovídá na Libor Šimo (libcosenior)
Jan Vargovský:27.9.2015 15:07

Zkus nastavit styl na null.

 
Nahoru Odpovědět 27.9.2015 15:07
Avatar
Odpovídá na Jan Vargovský
Libor Šimo (libcosenior):27.9.2015 15:43

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):27.9.2015 16:29

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:27.9.2015 20:50

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
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):28.9.2015 8:52

HorizontalAlignment neberie

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:28.9.2015 8:58

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):28.9.2015 9:57

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
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):28.9.2015 10:13

Našiel som niečo, čo sa mi zdá ako najlepšie riešenie.
https://diptimayapatra.wordpress.com/…grid-in-wpf/

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.