两种方式 wpf datagrid 绑定到数据库

Raj*_*ahu 5 data-binding wpf 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>
Run Code Online (Sandbox Code Playgroud)

更新

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

 public Window1()
    {
        InitializeComponent();

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

    }
Run Code Online (Sandbox Code Playgroud)

这就是我绑定到数据网格的方式。现在,每当我更改 DataGrid 中提交的价格时,我都想更新数据库。我更想问的是,我只会更新值已更改的行,而不是所有行。

谢谢 请编码(帮助)我....

Nig*_*haw 4

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