全部,
我想以两种方式绑定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中更改价格时更新数据库。我还想问一下,我只会更新其值已更改的行,而不是所有行。
由于 请编码(帮助)我......
答案 0 :(得分:3)
您无需显式设置双向绑定。这是默认值。因为您绑定到TableAdapter,所以无论何时在网格中进行更改,这些更改都将反映在TableAdapter中。您现在需要做的就是将这些更改写入数据库。在TableAdapter的RowChanged事件中,只需调用TableAdapter.Update将更改写入数据库。