двустороннее связывание wpf-данных с базой данных - PullRequest
3 голосов
/ 21 июня 2010

Привет всем,

Я хочу связать сетку данных WPF двумя способами.Я пытался следовать XAML:

<Grid>
    <my:DataGrid x:Name="dataGrid"  AutoGenerateColumns="False" Margin="8">
        <my:DataGrid.Columns>
            <my:DataGridTextColumn Header="Header" Binding="{Binding pCode}" IsReadOnly="True" />
            <my:DataGridTextColumn Header="Header" Binding="{Binding pName}" IsReadOnly="True" />
            <my:DataGridTextColumn Header="Header" Binding="{Binding pStock}" IsReadOnly="True" />
            <my:DataGridTextColumn Header="Header" Binding="{Binding pGroup}" IsReadOnly="True" />
            <my:DataGridTextColumn Header="Header" Binding="{Binding pPrice, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />              
        </my:DataGrid.Columns>
    </my:DataGrid>
</Grid>

ОБНОВЛЕНО

ProductsTableAdapters.TempTA tempTA = new WpfDataGridBinding.ProductsTableAdapters.TempTA();
Products.TempDataTable tempDT = new Products.TempDataTable();

 public Window1()
    {
        InitializeComponent();

        tempDT = tempTA.GetData();
        dataGrid.ItemsSource = tempDT;

    }

Так я связываюсь с сеткой данных.Теперь я хочу обновлять БД всякий раз, когда я изменяю цену, хранящуюся в DataGrid.Еще я хотел бы попросить обновить только строку, значение которой изменилось, а не все строки.

Спасибо. Пожалуйста, напишите мне (помогите) ....

1 Ответ

3 голосов
/ 09 сентября 2012

Вам не нужно явно устанавливать двухстороннее связывание. Это по умолчанию. Поскольку вы привязываетесь к TableAdapter, всякий раз, когда вы вносите изменения в сетку, эти изменения будут отражаться в TableAdapter. Все, что вам нужно сделать сейчас, это записать эти изменения в базу данных. В вашем событии RowChanged TableAdapter просто вызовите TableAdapter.Update, чтобы записать изменения в базу данных.

...