C# 通过单击按钮将所选行更新到数据库
单击按钮C# 通过单击按钮将所选行更新到数据库,c#,wpf,datagrid,C#,Wpf,Datagrid,单击按钮Ponuda时,我需要更新datagrid中选定的行 问题是,当我点击按钮时,什么也没发生,但当我重新启动应用程序时,整个列表都会更新。因此,我需要一种方法,只更新我选择的行,并立即更新它,而不是在应用程序重新启动后 这是我的按钮点击代码: private void button3_Click(object sender, RoutedEventArgs e) { // count = 120; // tmr.Start()
Ponuda
时,我需要更新datagrid中选定的行
问题是,当我点击按钮时,什么也没发生,但当我重新启动应用程序时,整个列表都会更新。因此,我需要一种方法,只更新我选择的行,并立即更新它,而不是在应用程序重新启动后
这是我的按钮点击代码:
private void button3_Click(object sender, RoutedEventArgs e)
{
// count = 120;
// tmr.Start();
using (SqlConnection conn = new SqlConnection(@"data source=ZC-PC\SQLEXPRESS;database=Aukcija;integrated security=true;"))
{
DataTable cena1 = new DataTable();
conn.Open();
SqlDataAdapter DA = new SqlDataAdapter(" UPDATE Predmet SET trenutnaCena = trenutnaCena + 1", conn);
SqlCommand cmd = new SqlCommand("UPDATE Predmet SET trenutnaCena = trenutnaCena + 1", conn);
cmd.ExecuteNonQuery();
DA.Update(cena1);
conn.Close();
}
}
如果您正在使用绑定,那么它应该正在更新。原因可能是,如果绑定到DataGrid的任何对象(应该是ObservableCollection或基于ObservableCollection的类)未实现INotifyPropertyChanged,则集合永远不会知道发生了属性更改 如果还没有,请为每个属性实现INotifyPropertyChanged并引发OnPropertyChanged事件。然后,当值更改时,它将反映在DataGrid和绑定的实际集合中 您需要确保每当发生这样或那样的情况时(我注意到,
按钮3\u单击
会处理),都有一个事件用新的集合值更新数据库
如果这不起作用,请告诉我,因为它应该起作用。您从未更改dataGrid中的数据,因此它不会自行更新,您需要重新填充itI。我尝试添加
aukcija_bazeDataGrid.DataContext=aukcijeTable代码>数据更新后(cena1)代码>但还是一样aukcija_bazeDataGrid
是我的DataGrid
的名称。据我所知,每次更新数据源时都必须解除绑定并重新绑定。每次更新时都要创建新的DataTable
。请尝试将cena1
设置为您的DataGrid
的DataContext。现在整个DataTable
消失了,尽管它在重新启动应用程序后仍在更新……很抱歉响应太晚,您能否为我的代码提供一个PropertyChanged事件的示例,因为我不是很熟悉它?