2016-12-07 76 views
0

我想在WPF的数据网格中添加一个新行,每次点击一个按钮后, another.However我的代码只是取代了以前在不添加下面这一个新问题:这里是我的背后代码:需要在WPF的数据网格中添加新行并添加特定数据,每次点击按钮

 ObservableCollection<DataItem> items = new ObservableCollection<DataItem>(); 
     items.Add(new DataItem() { Product = product, Quantity =  qnt.ToString(), Price = price, Total = totalPrice.ToString() }); 

     dataGrid.ItemsSource = items; 

“的数据网格”是在XAML名称。谁能帮忙!

回答

0

没有必要将Datagrid绑定到可观察集合。如果您想这样做,那么请查看WPF的MVVM模式。 如果你只是想一个行添加到数据网格,使用此代码:

DataGrid.Items.Add(new DataItem() { Product = product, Quantity =  qnt.ToString(), Price = price, Total = totalPrice.ToString() }); 

也可以考虑通过检查this answer.

0

创建的ObservableCollection和设置的的的ItemSource属性添加一个数据表作为源DataGrid 一次,例如在窗口或用户控件的构造函数中。请确保您存储在类的的ObservableCollection参考:

public partial class MainWindow : Window 
{ 
    ObservableCollection<DataItem> items = new ObservableCollection<DataItem>(); 
    public MainWindow() 
    { 
     InitializeComponent(); 

     items.Add(new DataItem() { Product = product, Quantity = qnt.ToString(), Price = price, Total = totalPrice.ToString() }); 
     dataGrid.ItemsSource = items; 
    } 
} 

然后你会能能的新项目从类的任何其他方法添加到相同的ObservableCollection包括你的Click事件处理程序:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    items.Add(new DataItem() { Product = product, Quantity = qnt.ToString(), Price = price, Total = totalPrice.ToString() }); 
} 
相关问题