2010-11-02 6 views
0

Je veux lier DataGrid avec datatable, de sorte qu'il puisse afficher et mettre à jour les données automatiquement dans la base de données. Mais entre-temps, je veux aussi personnaliser les colonnes de la grille de données, par exemple pour une colonne particulière de datatable, je veux afficher les données de cette colonne dans combobox dans la base de données (les données modifiées via combobox doivent également être stockées dans la base de données). Comment puis-je faire ceci ? Je suis nouveau à WPF, donc tout échantillon concernant ce serait utile pour moi. Merci d'avance!Liaison de DataTable à DataGrid WPF avec des colonnes personnalisées

Répondre

3

Vous devez définir les AutoGenerateColumns de DataGrid sur false, puis spécifier votre propre liste de colonnes. Voici un exemple grossier:

<DataGrid.Columns> 
    <DataGridTextColumn Header="Date" Binding="{Binding Path=MyDateColumn, StringFormat={}{0:MM/dd/yy hh:mmt}}" /> 
    <DataGridTextColumn Header="Name" Binding="{Binding Path=NameColumn}" /> 
    <DataGridTemplateColumn Header="SomeValue"> 
     <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <ComboBox ItemsSource="{StaticResource ComboBoxItems}" 
        SelectedItem="{Binding Path=SomeValueColumn}" /> 
      </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 
</DataGrid.Columns> 

+0

Je veux afficher combobox dans la grille lors de l'exécution. Le scénario est mon datagrid est connecté à datatable, à l'exécution cette grille sera peuplée avec les données de datatable, donc à ce point je veux afficher la valeur d'une colonne dans la zone de liste déroulante, qui devrait être affichée dans le DataGrid. Je veux créer des colonnes de DataGrid au moment de l'exécution car elles peuvent varier en fonction des données. Tout exemple pour le faire ... –

Questions connexes