2009-09-14 26 views
9

Mam program, w którym potrzebuję użytkownika do wprowadzania danych w datagrid. Chociaż prosty akt ustawiania "CanUserAddRows" byłby wystarczający, aby użytkownik mógł dodawać nowe wiersze, ale wydaje się, że nie będzie go ciąć.Edytowalny Datagrid w WPF

Czy jest coś jeszcze, co muszę zdefiniować, aby działały? Mój datagrid ma w sobie pola kombinowane i pola tekstowe, więc jest to dość powszechna kontrola.

Kod mam tak daleko jest ten

<dg:Datagrid Name="GridFournisseur" ItemsSource="{Binding}" 
    Margin="423,41,23.5,0" Height="193" VerticalAlignment="Top" 
    CanUserAddRows="True" CanUserDeleteRows="True" IsTabStop="True" RowHeight="12"       SelectionUnit="CellOrRowHeader"> 

    <dg:DataGrid.Columns> 

     <dg:DataGridComboBoxColumn Header="Fournisseur" Width="*" MinWidth="150"             
             IsReadOnly="False" /> 

     <dg:DataGridTextColumn Header="Prix" Width="SizeToHeader" MinWidth="50" 
             Binding="{Binding Categorie}" 
             IsReadOnly="False"/> 
     <dg:DataGridTextColumn Header="Délai" Width="SizeToHeader" MinWidth="50" 
             Binding="{Binding NoPiece}" 
             IsReadOnly="False"/> 
    </dg:DataGrid.Columns> 
</dg:DataGrid> 

mam tylko ten DataGrid w którym chciałbym zmienić jego treść i na początku jest pusty.

+0

Czy Twój "ItemsSource" jest ustawiony na ObservableCollection ? –

+0

Na razie nie mam ItemSource (może być problem ...) W tym programie zwykle umieszczam itemSource jako listę (Something), ale jeśli muszę umieścić coś innego, to przez wszystkie średnie Będę. –

+0

Może nie robię tego dobrze. To, co chciałbym zrobić, to mieć to samo, co w zwykłej aplikacji Windows Form. Znaczenie ma datagrid, w którym "nowy wiersz" jest zawsze widoczny dla mnie, aby dodać dane w nim. Mogę też chcieć usunąć wiersz. –

Odpowiedz

7

Może to być jedna z wielu rzeczy. Proszę spojrzeć na this article.

Problem jest najprawdopodobniej związany z widokiem kolekcji, który nie obsługuje dodawania elementów. Sądzę, że sieć może oczekiwać widoku kolekcji implementującego IEditableCollectionView lub IBindingList, interfejsy obsługujące dodawanie elementów.

1

CanUserAddRows to poprawna właściwość. Być może udostępnij jakiś przykładowy kod.