双向wpf datagrid绑定到数据库

时间:2010-06-21 12:59:21

标签: wpf data-binding datagrid wpfdatagrid

全部,

我想以两种方式绑定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的方式。现在我想在DataGrid中更改价格时更新数据库。我还想问一下,我只会更新其值已更改的行,而不是所有行。

由于 请编码(帮助)我......

1 个答案:

答案 0 :(得分:3)

您无需显式设置双向绑定。这是默认值。因为您绑定到TableAdapter,所以无论何时在网格中进行更改,这些更改都将反映在TableAdapter中。您现在需要做的就是将这些更改写入数据库。在TableAdapter的RowChanged事件中,只需调用TableAdapter.Update将更改写入数据库。