我正在制作简单的 wpf 项目,必须连接到 DB 并将其绑定到 DataGrid。问题是:我可以显示数据库中的数据,但我无法将其更新回来。我一直在寻找答案,尝试了 100 种不同的东西,我不知道会是什么。
我的 xaml 数据网格:
<Grid>
<DataGrid x:Name="dataGrid1" ItemsSource="{Binding Path=GridData, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Margin="0" VerticalAlignment="Stretch"/>
</Grid>
我的观点
class View
{
SqlConnection con;
DataTable dt = new DataTable("emp");
SqlDataAdapter da;
SqlCommandBuilder builder;
public DataView GridData
{
get
{
con = new SqlConnection(@"Server=MAXMAD-\R;Initial Catalog=WOC;Integrated Security=True");
try
{
con.Open();
string Get_Data = "SELECT * FROM Player";
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = Get_Data;
da = new SqlDataAdapter(cmd);
builder = new SqlCommandBuilder(da);
da.Fill(dt);
}
catch (SqlException ex)
{
MessageBox.Show("Error occured, can not connect to db!");
return null;
}
return dt.DefaultView;
}
set
{
da.Update(dt);
}
}
}
后面的代码
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
View myView = new View();
DataContext = myView;
}
}