Сетка данных Silverlight с разделителем сетки

#c# #wpf #vb.net #silverlight

#c# #wpf #vb.net #silverlight

Вопрос:

У меня есть приведенный ниже код, в котором я пытаюсь создать две сетки данных с разделителем сетки посередине. Разделение, похоже, работает нормально, но проблема, с которой я сталкиваюсь, заключается в том, что когда я заполняю сетку данных, она увеличивается в высоту и меняет разделитель вместо того, чтобы оставлять высоту в покое и добавлять полосы прокрутки.

Какую простую вещь я упускаю из виду?

    <Grid x:Name="gdHistory" Grid.Column="0" Grid.Row="2" >
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <ig:XamGrid Grid.Row="0" ItemsSource="{Binding Path=PendingRequests}" Margin="10,10,10,15" AutoGenerateColumns="False" Visibility="Visible">
                        <ig:XamGrid.Columns>
                            <ig:UnboundColumn Key="Delete" IsFilterable="False" IsGroupable="False" IsMovable="False" IsResizable="False" IsSummable="False">
                                <ig:UnboundColumn.ItemTemplate>
                                    <DataTemplate>
                                        <Button x:Name="cmdDelete" Content="Delete" Height="20" Click="DeleteReqMethod"/>
                                    </DataTemplate>
                                </ig:UnboundColumn.ItemTemplate>
                            </ig:UnboundColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Part Id" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="Part_Id" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Rev" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="Part_Rev" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Desc" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="Part_Desc" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Qty" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="ReqQty" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="UOM" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="UOM" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Find No" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="FindNo" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>


                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Location" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="Location" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="Src Tag" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="SrcTag" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>




                        </ig:XamGrid.Columns>
                    </ig:XamGrid>

                    <sdk:GridSplitter Margin="10,5" Grid.Row="0" Height="10" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" />
                    <TextBlock Grid.Row="3" Text="Issue Item History" Foreground="#FF617583" FontWeight="Bold" HorizontalAlignment="Center" Margin="0,10,0,0" />
                    <ig:XamGrid ItemsSource="{Binding Path=MoReq_7000}" Margin="10" Grid.Row="4" IsAlternateRowsEnabled="False" AutoGenerateColumns="False" Name="xg_moreq_7000" Visibility="Visible" >
                        <ig:XamGrid.RowSelectorSettings>
                            <ig:RowSelectorSettings Visibility="Visible" />
                        </ig:XamGrid.RowSelectorSettings>
                        <ig:XamGrid.ClipboardSettings>
                            <ig:ClipboardSettings AllowCopy="True" CopyOptions="ExcludeHeaders" CopyType="SelectedCells" />
                        </ig:XamGrid.ClipboardSettings>
                        <ig:XamGrid.Columns>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="LN NO" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="COMP_LN_NO" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="FIND ID" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="COMP_FIND_ID" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="PART ID" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="COMP_PART_ID" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="REV" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="COMP_PART_RVSN_ID" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="DESC" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="ITEM_DESC" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="ABBRV" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="INVT_ABBRV_CD" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="REQD QTY" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="REQD_QTY" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="TO ISSUE QTY" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="TO_ISSUE_QTY" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="ISSUED QTY" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="ISSUED_QTY" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                            <ig:TextColumn AllowCaseSensitiveSort="True" EditorHorizontalContentAlignment="Stretch" EditorVerticalContentAlignment="Stretch" FixedIndicatorDirection="{x:Null}" HeaderText="RESVD QTY" IsFilterable="True" IsFixable="True" IsGroupable="True" IsHideable="True" IsMovable="True" IsResizable="True" IsSortable="True" IsSummable="True" Key="INV_RESVD_QTY" VerticalContentAlignment="Center">
                                <ig:TextColumn.FilterColumnSettings>
                                    <ig:FilterColumnSettings FilterCaseSensitive="False" FilterCellValue="{x:Null}" FilterMenuClearFiltersString="{x:Null}" FilterMenuTypeSpecificFiltersString="{x:Null}" FilteringOperand="{x:Null}" />
                                </ig:TextColumn.FilterColumnSettings>
                                <ig:TextColumn.SummaryColumnSettings>
                                    <ig:SummaryColumnSettings />
                                </ig:TextColumn.SummaryColumnSettings>
                            </ig:TextColumn>
                        </ig:XamGrid.Columns>
                    </ig:XamGrid>
                </Grid>
  

Ответ №1:

Попробуйте добавить еще одну строку для разделителя и установите ее высоту на auto :

                    <Grid.RowDefinitions>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
  

Строка 0 для первой сетки данных.
Строка 1 для разделителя.
Строка 2 для второй сетки данных.

Установите выравнивания разделителя на stretch .

  <sdk:GridSplitter Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
  

И вот полный XAML, который я тестировал:

 <Grid x:Name="LayoutRoot">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <sdk:DataGrid/>                    
        <sdk:GridSplitter Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
        <sdk:DataGrid Grid.Row="2"/>
    </Grid>
  

Комментарии:

1. Я сделал это, и когда я изменяю размеры сеток, это портит сетки данных, поскольку они не изменяются

2. @Jim: Пожалуйста, посмотрите мою правку. Вам нужно настроить выравнивания на растяжение.

3. @ спасибо, что наставили меня на правильный путь. Это было потому, что у меня был scrollviewer внутри моей сетки