Click here to Skip to main content
15,885,777 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a problem while trying to populate a DataGrid inside my User Control which is embedded on parent DataGrid RowDetailsTemplate. The child DataGrid (which is inside the user control) should populate the related information inherited from its parent DataGrid. Somehow it doesn't work as expected. But when I'm trying to bind a Text Block within my child user control, it works! Hope someone can help me with this:-)

Thanks a lot

This is my parent DataGrid:


HTML
<custom:datagrid x:name="MainDataGrid" xmlns:x="#unknown" xmlns:custom="#unknown">
                     Grid.Row="1"
                     Margin="10,10,10,12"
                     HorizontalAlignment="Stretch"
                     AlternatingRowremoved="AliceBlue"
                     AlternationCount="2"
                     AutoGenerateColumns="False"
                     EnableColumnVirtualization="false"
                     EnableRowVirtualization="false"
                     IsReadOnly="False"
                     ItemsSource="{Binding ChangeOverData}"
                     RowDetailsVisibilityMode="Visible"
                     SelectedItem="{Binding Path=ChangeOverDetailsSelected,
                                            Mode=TwoWay,
                                            Source={StaticResource GridOverviewViewModel}}"
                     SelectionMode="Single"
                     SelectionUnit="FullRow">

        <custom:datagrid.background>
            <lineargradientbrush startpoint="0.5,0" endpoint="0.5,1">
                <gradientstop offset="0" color="#F7BFEE86" />
                <gradientstop offset="0.966" color="#13A7E4FF" />
            </lineargradientbrush>
        </custom:datagrid.background>
        <custom:datagrid.columns>
            <custom:datagridtemplatecolumn header="">

                <custom:datagridtemplatecolumn.celltemplate>
                    <datatemplate>
                        <stackpanel>
                            <Button Name="btnWIP"
                                    Width="20"
                                    Height="20"
                                    HorizontalAlignment="Left"
                                    Command="{Binding Source={StaticResource GridOverviewViewModel},
                                                      Path=ButtonReloadWIPDetails}"
                                    Content="WIP"
                                    Style="{DynamicResource RoundGlassButton}">

                            </Button>
                        </stackpanel>
                    </datatemplate>

                </custom:datagridtemplatecolumn.celltemplate>

            </custom:datagridtemplatecolumn>
            <custom:datagridtextcolumn binding="{Binding StartDate,<br mode=" hold=" />                                                         StringFormat={}{0:dd/MM/yyyy}}">
                                       Header="StartDate"
                                       IsReadOnly="True" />
            <custom:datagridtextcolumn binding="{Binding MacNo}">
                                       Header="MacNo"
                                       IsReadOnly="True" />
            <custom:datagridtextcolumn binding="{Binding PosNo}">
                                       Header="Pos"
                                       IsReadOnly="True" />

            <custom:datagridtextcolumn binding="{Binding Position}">
                                       Header="Position"
                                       IsReadOnly="True" />

            <custom:datagridtextcolumn binding="{Binding CurMO}">
                                       Header="CurrentMO"
                                       IsReadOnly="True" />

            <custom:datagridtextcolumn binding="{Binding NextMO}">
                                       Header="NextMO"
                                       IsReadOnly="True">

                <custom:datagridtextcolumn.elementstyle>
                    <Style TargetType="{x:Type TextBlock}">
                        <setter property="Foreground" value="{Binding MOFontColor}" />
                    </Style>
                </custom:datagridtextcolumn.elementstyle>
            </custom:datagridtextcolumn>


        </custom:datagridtextcolumn></custom:datagridtextcolumn></custom:datagridtextcolumn></custom:datagridtextcolumn></custom:datagridtextcolumn></custom:datagrid.columns>
        <custom:datagrid.rowdetailstemplate>
            <datatemplate>

                    <local:datagridrowdetails x:name="CODetails" xmlns:local="#unknown">
                    />

            </local:datagridrowdetails></datatemplate>
        </custom:datagrid.rowdetailstemplate>

        <custom:datagrid.groupstyle>
            <groupstyle containerstyle="{StaticResource GroupHeaderStyle}">
                <groupstyle.panel>
                    <itemspaneltemplate>
                        <custom:datagridrowspresenter />
                    </itemspaneltemplate>
                </groupstyle.panel>
            </groupstyle>
        </custom:datagrid.groupstyle>
    </custom:datagrid>

And this is my child user controls - which contains another DataGrid
HTML
<custom:datagrid name="dataGrid1" xmlns:custom="#unknown">
                     Width="Auto"
                     Margin="0,0,0,45"
                     HorizontalAlignment="Stretch"
                     VerticalAlignment="Stretch"
                     HorizontalContentAlignment="Stretch"
                     VerticalContentAlignment="Stretch"
                     AlternatingRowremoved="Azure"
                     AlternationCount="2"
                     AutoGenerateColumns="False"
                     ItemsSource="{Binding}"
                     >

        <custom:datagrid.columns>

            <custom:datagridtextcolumn binding="{Binding FIF}">
                                       Header="FIF"
                                       IsReadOnly="True" />

            <custom:datagridtextcolumn binding="{Binding MacNo}">
                                       Header="MacNo"
                                       IsReadOnly="True" />

            <custom:datagridtextcolumn binding="{Binding NomQty}">
                                       Header="NomQty"
                                       IsReadOnly="True" />

        </custom:datagridtextcolumn></custom:datagridtextcolumn></custom:datagridtextcolumn></custom:datagrid.columns>

    </custom:datagrid>
    <textblock name="textBlock1">
               Width="85"
               Height="23"
               Margin="3,83,0,0"
               HorizontalAlignment="Left"
               VerticalAlignment="Top"
               Text="{Binding Path=NextMO}"                   
               /></textblock>
Posted
Updated 10-Feb-12 0:17am
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900