none
La liaison bidirectionnelle nécessite Path ou XPath. Combobox datagrid WPF RRS feed

  • Question

  • Bonjour, dans un datagrid, je place un combobox :

        <DataGrid Name="DG_PDF" Margin="10,50,10,10" AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Ordre" Width="50" Binding="{Binding Ordre}">
                        <DataGridTextColumn.HeaderStyle>
                            <Style TargetType="DataGridColumnHeader">
                                <Setter Property="HorizontalContentAlignment" Value="Center" />
                            </Style>
                        </DataGridTextColumn.HeaderStyle>
                        <DataGridTextColumn.ElementStyle>
                            <Style TargetType="TextBlock">
                                <Setter Property="TextAlignment" Value="Right" />
                            </Style>
                        </DataGridTextColumn.ElementStyle>
                    </DataGridTextColumn>
                    <DataGridComboBoxColumn Header="Type" Width="90" x:Name="CBCOL_Type"
                                            SelectedValuePath="K" DisplayMemberPath="Libelle"
                                            SelectedValueBinding="{Binding K, Mode=TwoWay}">
                        <DataGridComboBoxColumn.HeaderStyle>
                            <Style TargetType="DataGridColumnHeader">
                                <Setter Property="HorizontalContentAlignment" Value="Center" />
                            </Style>
                        </DataGridComboBoxColumn.HeaderStyle>
                    </DataGridComboBoxColumn>

    </DataGrid>

    Dans le code behind, je créé deux DataTable : DT_Type et DT.

    DT_Type : 

             DT_Type.Columns.Add("K", typeof(int));
                DT_Type.Columns.Add("Libelle", typeof(string));
                DataRow XR = DT_Type.NewRow();
                XR["K"] = 1;
                XR["Libelle"] = "Titre Page";
                DT_Type.Rows.Add(XR);

    DT : 

                req00 = @"
    SELECT        Ordre, K, Libelle, PV, Couleur, Police, Gras, Italique, Souligne, TaillePolice, PosCol, NbCol, DateDerMaj, R_Gui
    FROM            PDF_MENU
    ORDER BY Ordre";
                DT = AA1.getDataView(req00).xDV.Table;
                DT.RowChanged += RowChanged;
                DT.RowDeleted += RowDeleted;
                DG_PDF.ItemsSource = DT.DefaultView;

       CBCOL_Type.ItemsSource = DT_Type.DefaultView;

    Lors de l'ajout d'une ligne par l'utilisateur, j'ai invariablement l'exception "System.InvalidOperationException" dans "PresentationFramework.dll", que je ne peux pas capturer par un "try..catch". Cela se produit avant l'event RowChanged.

    Quelqu'un peut il m'aider.? Merci par avance.


    Alan

    mercredi 8 juin 2016 09:48