38 messaggi dal 27 dicembre 2011
Ciao,

ho una fonte dati, e tramite una collectionview l'ho raggruppata e messa in in data grid.
La mia esigenza è quella di far vedere dentro il datagrid un dettaglio riepilogativo delle righe presenti nel gruppo.
Allego immagine per far capire meglio
https://drive.google.com/open?id=1Utl0DEsRqFAY74KxrNwqEI_Y9kFSxStP
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Marco,


far vedere dentro il datagrid

Che intendi con "dentro"? Dal mockup vedo che il dettaglio è di fianco al datagrid, non dentro.
Posta il codice del gruppo, in cui si veda la header, il datagrid e il contenitore dei dettagli.

ciao,
Moreno
Modificato da BrightSoul il 23 agosto 2018 13.22 -

Enjoy learning and just keep making
38 messaggi dal 27 dicembre 2011
BrightSoul ha scritto:
Ciao Marco,


far vedere dentro il datagrid

Che intendi con "dentro"? Dal mockup vedo che il dettaglio è di fianco al datagrid, non dentro.
Posta il codice del gruppo, in cui si veda la header, il datagrid e il contenitore dei dettagli.

ciao,
Moreno
Modificato da BrightSoul il 23 agosto 2018 13.22 -


Il dettaglio non c'è.

Mi spiego meglio. Il gruppo del datagrid contiene 3 elementi (3 righe). Accanto a queste 3 righe (non alla singola riga) vorrei far vedere un dettaglio riepilogativo dei dati comuni alle 3 righe.
Il problema è che l'area del dettaglio deve essere dentro il datagrid, e non accanto, cioè questo dettaglio deve andare a fianco delle 3 righe, questo perchè l'header del gruppo prende tutto lo spazio della pagina.

    <DataGrid
            Grid.Row="1"
            AutoGenerateColumns="False"
            IsReadOnly="True"
            ItemsSource="{Binding VenditeModelList, UpdateSourceTrigger=PropertyChanged}">
            <DataGrid.Columns>
                <DataGridTextColumn
                    Width="130"
                    Binding="{Binding VenditaItem.Codice}"
                    Header="COD.MIN." />
                <DataGridTextColumn
                    Width="280"
                    Binding="{Binding VenditaItem.DescrizioneProdotto}"
                    Header="PRODOTTO" />
                <DataGridTextColumn
                    Width="90"
                    Binding="{Binding VenditaItem.Sconto, StringFormat=N2}"
                    Header="SCONTO" />
                <DataGridTextColumn
                    Width="110"
                    Binding="{Binding VenditaItem.Prezzo, StringFormat=N2}"
                    Header="PREZZO" />
            </DataGrid.Columns>

            <DataGrid.GroupStyle>
                <GroupStyle>
                    <GroupStyle.ContainerStyle>
                        <Style TargetType="{x:Type GroupItem}">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type GroupItem}">
                                        <Expander
                                            x:Name="exp"
                                            Margin="0,8,0,0"
                                            IsExpanded="True">
                                            <Expander.Style>
                                                <Style BasedOn="{StaticResource ExpanderStyleTinToggleButton}" TargetType="{x:Type Expander}">
                                                    <Setter Property="Background" Value="#F8F7F7" />                                                  
                                                </Style>
                                            </Expander.Style>
                                            <Expander.Header>

                                                <Grid Height="44">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="110" />
                                                    </Grid.ColumnDefinitions>
                                                    <Grid>
                                                        <Grid.ColumnDefinitions>
                                                            <ColumnDefinition Width="110" />
                                                            <ColumnDefinition Width="180" />
                                                            <ColumnDefinition Width="130" />
                                                            <ColumnDefinition Width="220" />
                                                            <ColumnDefinition Width="140" />

                                                        </Grid.ColumnDefinitions>

                                                        <StackPanel Orientation="Horizontal">
                                                            <TextBlock
                                                                Margin="5"
                                                                VerticalAlignment="Center"
                                                                Text="VENDITA" />
                                                            <Border
                                                                Width="42"
                                                                Height="24"
                                                                Margin="3,0,0,0"
                                                                Background="#FFFFFF"
                                                                CornerRadius="1">

                                                                <TextBlock
                                                                    HorizontalAlignment="Center"
                                                                    VerticalAlignment="Center"
                                                                    FontSize="12"
                                                                    Foreground="#2D2A2B"
                                                                    Text="{Binding Items[0].IdVendita}" />
                                                            </Border>
                                                        </StackPanel>


                                                        <StackPanel Grid.Column="1" Orientation="Horizontal">
                                                            <TextBlock
                                                                Margin="10"
                                                                VerticalAlignment="Center"
                                                                Text="DATA ORA" />
                                                            <TextBlock
                                                                HorizontalAlignment="Center"
                                                                VerticalAlignment="Center"
                                                                FontSize="12"
                                                                Foreground="#2D2A2B"
                                                                Text="{Binding Items[0].DataOraVendita, StringFormat=dd/MM/yyyy HH:mm}" />
                                                        </StackPanel>

                                                        <StackPanel Grid.Column="2" Orientation="Horizontal">
                                                            <TextBlock
                                                                Margin="10"
                                                                VerticalAlignment="Center"
                                                                Text="SCONTR." />
                                                            <TextBlock
                                                                HorizontalAlignment="Center"
                                                                VerticalAlignment="Center"
                                                                FontSize="12"
                                                                Foreground="#2D2A2B"
                                                                Text="{Binding Items[0].Scontrino}" />
                                                        </StackPanel>

                                                        <StackPanel Grid.Column="3" Orientation="Horizontal">
                                                            <TextBlock
                                                                Margin="10"
                                                                VerticalAlignment="Center"
                                                                Text="CLIENTE" />
                                                            <TextBlock
                                                                HorizontalAlignment="Center"
                                                                VerticalAlignment="Center"
                                                                FontSize="12"
                                                                Foreground="#2D2A2B"
                                                                Text="{Binding Items[0].ScontCustomerInfo.Nome}" />
                                                            <TextBlock
                                                                HorizontalAlignment="Center"
                                                                VerticalAlignment="Center"
                                                                FontSize="10"
                                                                Foreground="#2D2A2B"
                                                                Text="{Binding Items[0].ScontCustomerInfo.CodiceFiscale, Converter={StaticResource StringToUpperConverter}}" />
                                                        </StackPanel>


                                                        <StackPanel Grid.Column="4" Orientation="Horizontal">
                                                            <TextBlock VerticalAlignment="Center" Text="OPER." />
                                                            <TextBlock
                                                                HorizontalAlignment="Center"
                                                                VerticalAlignment="Center"
                                                                FontSize="12"
                                                                Foreground="#2D2A2B"
                                                                Text="{Binding Items[0].UserInfo.IdOperatore}" />

                                                        </StackPanel>
                                                    </Grid>
                                                    <Border
                                                        Grid.Column="1"
                                                        Height="28"
                                                        Background="#65585C"
                                                        CornerRadius="4,0,0,4">
                                                        <StackPanel Orientation="Horizontal">
                                                            <TextBlock
                                                                Margin="14,0,0,0"
                                                                VerticalAlignment="Center"
                                                                FontFamily="{StaticResource InterUIMedium}"
                                                                FontSize="10"
                                                                Foreground="#BDB3B3"
                                                                Text="TOTALE" />
                                                            <TextBlock
                                                                Margin="7,0,0,0"
                                                                Padding="2,0,2,0"
                                                                HorizontalAlignment="Right"
                                                                VerticalAlignment="Center"
                                                                FontSize="12"
                                                                Foreground="#998A8E"
                                                                Text="{Binding Items, Converter={StaticResource sumConverter}, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
                                                                TextAlignment="Right" />
                                                        </StackPanel>

                                                    </Border>
                                                </Grid>

                                            </Expander.Header>
                                            <ItemsPresenter />

                                        </Expander>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </GroupStyle.ContainerStyle>
                </GroupStyle>

                <!--DA UTILIZZARE QUANDO CI SARANNO DIVERSE TIPOLOGIE DI VENDITA
                <GroupStyle>
                    <GroupStyle.ContainerStyle>
                        <Style TargetType="{x:Type GroupItem}">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type GroupItem}">
                                        <Expander
                                            x:Name="exp"
                                            Margin="10,8,0,0"
                                            IsExpanded="True">
                                            <Expander.Style>
                                                <Style BasedOn="{StaticResource ExpanderStyleTinToggleButton}" TargetType="{x:Type Expander}">
                                                    <Setter Property="Background" Value="#F8F7F7" />
                                                    <Style.Triggers>
                                                        <DataTrigger Binding="{Binding DataContext.DeleteProductCommand, RelativeSource={RelativeSource AncestorType=UserControl}}" Value="False">
                                                            <Setter Property="Background" Value="#EEECEC" />
                                                        </DataTrigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </Expander.Style>
                                            <Expander.Header>
                                                <Grid Height="44">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition />
                                                        <ColumnDefinition />
                                                    </Grid.ColumnDefinitions>
                                                    <TextBlock Text="{Binding Path=Items[0].VenditaItem.TipoVendita}" />
                                                    <TextBlock Grid.Column="1" Text="{Binding Path=Items[0].VenditaItem.CodiceEsenzione}" />
                                                </Grid>
                                            </Expander.Header>
                                            <ItemsPresenter />
                                        </Expander>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </GroupStyle.ContainerStyle>
                </GroupStyle>-->
            </DataGrid.GroupStyle>
        </DataGrid>
11.886 messaggi dal 09 febbraio 2002
Contributi
Ok, ora ho capito, grazie per il chiarimento.

Dentro l'expander, non puoi mettere una Grid così da ricavarti uno spazio anche per il riquadro dei dettagli?

Anziché così:
<ItemsPresenter />


Vai così:
<Grid>
  <ColumnDefinitions>
    <ColumnDefinition Width="2*" />
    <ColumnDefinition Width="*" />
  </ColumnDefinitions>
<ItemsPresenter Grid.Column="0" />
<Rectangle Grid.Column="1"><!-- Questo è il riquadro dettagli --></Rectangle>
</Grid>


Siccome sono di fretta ho scritto senza verificare, potresti avere errori. Comunque fammi sapere se questo suggerimento è applicabile nel tuo caso.

ciao,
Moreno

Enjoy learning and just keep making
38 messaggi dal 27 dicembre 2011
BrightSoul ha scritto:
Ok, ora ho capito, grazie per il chiarimento.

Dentro l'expander, non puoi mettere una Grid così da ricavarti uno spazio anche per il riquadro dei dettagli?

Anziché così:
<ItemsPresenter />


Vai così:
<Grid>
  <ColumnDefinitions>
    <ColumnDefinition Width="2*" />
    <ColumnDefinition Width="*" />
  </ColumnDefinitions>
<ItemsPresenter Grid.Column="0" />
<Rectangle Grid.Column="1"><!-- Questo è il riquadro dettagli --></Rectangle>
</Grid>


Siccome sono di fretta ho scritto senza verificare, potresti avere errori. Comunque fammi sapere se questo suggerimento è applicabile nel tuo caso.

ciao,
Moreno


Perfetto, è proprio quello che mi serviva

Grazie ancora

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.