0
我已經將數據從SQL Server表中加載到數據網格中,現在編輯後我希望將更改保存回數據庫。我應該設置綁定模式=「雙向」,更改更新觸發器?使用綁定xsd綁定對象將數據從datagrid保存回SQL Server
這裏是XAML:
<Window x:Class="WpfApplication7.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication7"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded" Closing="Window_Closing">
<Window.Resources>
<local:tempdbDataSet x:Key="tempdbDataSet"/>
<CollectionViewSource x:Key="table1ViewSource" Source="{Binding Table1, Source={StaticResource tempdbDataSet}}"/>
</Window.Resources>
<Grid DataContext="{StaticResource table1ViewSource}">
<DataGrid x:Name="table1DataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" ItemsSource="{Binding}" Margin="104,66,13,53" RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="iDColumn" Binding="{Binding ID}" Header="ID" IsReadOnly="True" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="firstNameColumn" Binding="{Binding FirstName}" Header="First Name" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="lastNameColumn" Binding="{Binding LastName}" Header="Last Name" Width="SizeToHeader"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
下面是代碼隱藏文件:
using System.Windows;
namespace WpfApplication7
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
WpfApplication7.tempdbDataSet tempdbDataSet = ((WpfApplication7.tempdbDataSet)(this.FindResource("tempdbDataSet")));
// Load data into the table Table1. You can modify this code as needed.
WpfApplication7.tempdbDataSetTableAdapters.Table1TableAdapter tempdbDataSetTable1TableAdapter = new WpfApplication7.tempdbDataSetTableAdapters.Table1TableAdapter();
tempdbDataSetTable1TableAdapter.Fill(tempdbDataSet.Table1);
System.Windows.Data.CollectionViewSource table1ViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("table1ViewSource")));
table1ViewSource.View.MoveCurrentToFirst();
}
}
}