繁体   English   中英

如何在wpf中向datagrid添加行?

[英]How can I add row to datagrid in wpf?

我对wpf很陌生。 我正在寻找一些等效的:

dataGridView1.Rows.Add(sNazwa, 1, opakowanie, cena, sWartoscNetto, sVAT, sWartoscBrutto);

我知道我应该使用

mainwindow.dataGrid1.Items.Add()

但是如何定义要在此处添加的行?

编辑

我想我应该详细说明我打算实现的目标。 我正在重写在WinForms中制作的程序。 它为客户提供报价。 它具有winforms中的gridview,其中包含我的客户的产品列表。 在secon窗口中,我有一个连接到sql数据库的网格窗体。 通过双击一行,该行中的某些数据应传输到mainwindow数据网格中(而不是整个行)。 在mainwindow中,datagrid用户应该能够编辑单元格,上下移动行,对行进行排序和删除。 List <>可以让我做所有这些事情吗? 我尝试使用您的解决方案通过List添加行,并且行有效(但是我很难从第二个窗口发送数据),但是我仍然想知道它是否可以让我做以后想要的事情。

编辑这工作:

public class Produkt
{
  public string Nazwa { get; set;}
  public string Opakowanie { get; set; }
  public string Ilosc { get; set; }
  public string Cena { get; set; }
  public string WartoscNetto { get; set; }
  public string VAT { get; set; }
  public string WartoscBrutto { get; set; }
}

public List<Produkt> DodajProdukty()
{
  List<Produkt> produkt = new List<Produkt>();
  produkt.Add(new Produkt() { Nazwa = "test", Opakowanie = "test", Ilosc = "1", Cena = "test", WartoscNetto = "test", WartoscBrutto = "test" });
  return produkt;

}


private void Window_Loaded(object sender, RoutedEventArgs e)
{
  dataGrid1.ItemsSource = DodajProdukty();
}

但是如何从其他窗口添加一行?

谢谢,

正如HighCore先前指出的那样,您应该通过使用要显示在DataGrid中的对象列表(集合)来执行此操作。 这是绑定进入的地方。

那里有一些教程和指南,但是您可能有一些疑问或需要一些提示来进行。

目前,很高兴知道有些事情完全不同,而有些事情在传递给WPF时并没有什么不同。 您可以阅读Reed Copsey撰写的这篇文章。 这是一本非常好的书,它帮助我将WinForms留作框架。

如果您已准备好实施第一个MVVM示例,则应该真正研究一下诸如BindingEventsCommands以及它们如何首先工作的概念。

在这种特殊情况下,您不需要自上次声明以来就不会对数据进行任何更改的通知View的功能。 但是,这里完全不需要INotifyPropertyChanged接口,但是您应该考虑使用它。

好的,这很完美:

https://stackoverflow.com/a/15749641/2186128

现在我需要了解所有的意思:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM