Je suis novice dans WPF. J'ai une base de données wpftoolkit où j'utilise une zone de liste déroulante comme colonne datagridcombox. J'utilise une collection observable de codes pour lier la zone de liste déroulante. Ci-dessous la collection et sa classe ...Problème lors de la liaison DataGridComboBoxColumn dans Datagrid
#Region "Class & Coll"
Public Class CodesColl
Inherits ObservableCollection(Of Codes)
End Class
Public Class Codes
Private pCode As String
Private pDescription As String
Public Sub New()
pCode = String.Empty
pDescription = String.Empty
End Sub
#End Region
#Region "Property"
Public Property fldCode() As String
Get
Return pCode
End Get
Set(ByVal value As String)
pCode = value
End Set
End Property
Public Property fldDescription() As String
Get
Return pDescription
End Get
Set(ByVal value As String)
pDescription = value
End Set
End Property
#End Region
End Class
Maintenant, ce que je veux réaliser est que je dois lier la collection avec menu déroulant dans la grid.In ma grille j'ai deux colonnes dans la première colonne, je dois afficher le code (fldCode), et sur la sélection du code, la colonne suivante de la même ligne sera remplie avec sa description (fldDescription).
Mon Xaml est quelque chose comme ceci:
<wpfkit:DataGrid Margin="3" Style="{DynamicResource SimpleDataGrid}" FontWeight="Normal"
MaxHeight="100" ItemsSource="{Binding Source={StaticResource odpExistingCodesColl}}"
AutoGenerateColumns="False" Name="dgCodes" VerticalScrollBarVisibility="Visible" >
<wpfkit:DataGrid.Columns>
<wpfkit:DataGridTemplateColumn IsReadOnly="True">
<wpfkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Style="{DynamicResource SimpleImageDelete}"/>
</DataTemplate>
</wpfkit:DataGridTemplateColumn.CellTemplate>
</wpfkit:DataGridTemplateColumn>
<wpfkit:DataGridComboBoxColumn Header="Code"
DisplayMemberPath="fldCode"
SelectedValueBinding="{Binding fldCodes.fldCode}"
SelectedValuePath="fldCode"
SelectedItemBinding="{Binding fldCodeList}"
Width="100" x:Name="cbTCodes" >
<wpfkit:DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsSynchronizedWithCurrentItem" Value="False" />
<Setter Property ="ItemsSource" Value="{Binding Path=odpCodesColl}"/>
</Style>
</wpfkit:DataGridComboBoxColumn.ElementStyle>
<wpfkit:DataGridComboBoxColumn.EditingElementStyle >
<Style TargetType="ComboBox">
<Setter Property ="ItemsSource" Value="{Binding Path=odpCodesColl}"/>
<Setter Property ="IsDropDownOpen" Value="True"/>
</Style>
</wpfkit:DataGridComboBoxColumn.EditingElementStyle>
</wpfkit:DataGridComboBoxColumn>
<wpfkit:DataGridTextColumn Width="375" Header="Description" x:Name="tbTCodeDescription" />
</wpfkit:DataGrid.Columns>
</wpfkit:DataGrid>
odpExistingCodesColl est une autre collection ici à travers laquelle je suis lient toute la grille et est utilisée pour envoyer le code et sa description à mais je fais face à des problèmes suivants
- Impossible d'afficher les codes dans la liste déroulante.
- D'une manière ou d'une autre j'ai réussi à le faire mais il disparaît après avoir perdu le focus de la combobox.
- Impossible de récupérer la description de son changement de sélection, car je suis incapable de trouver l'événement aussi.
Vous les gars est demandé de me aider dès que possible .. toute aide sera très appréciée .. Merci à l'avance Amit Ranjan
J'ai déjà visité VinSibal mais ce n'était pas très pertinent. Anywayz merci pour l'aide –