如何以编程方式将数据添加到WPF数据网格

如何在WPF中以编程方式将数据项添加到DataGrid但没有绑定? DataGrid有4列。

不太清楚,你喜欢做什么。 我想,你已经定义了一个你想放置DataGrid的地方。 为了便于说明,我创建了一个新的WPF项目,并使用chridram提供的代码,他发布了第一个答案。

在下面的MainWindow.xaml中,我将Grid MainGrid命名为在后面的代码中访问它:

    

DataItem类不是WPF类,而是由Yourself创建的自定义类:

 public class DataItem { public string Column1 { get; set; } public string Column2 { get; set; } public string Column3 { get; set; } public string Column4 { get; set; } } 

要让DataGrid以编程方式显示存储在DataItem对象中的数据,您可以执行以下操作:

 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // Your programmatically created DataGrid is attached to MainGrid here var dg = new DataGrid(); this.MainGrid.Children.Add(dg); // create four columns here with same names as the DataItem's properties for (int i = 1; i <= 4; ++i) { var column = new DataGridTextColumn(); column.Header = "Column" + i; column.Binding = new Binding("Column" + i); dg.Columns.Add(column); } // create and add two lines of fake data to be displayed, here dg.Items.Add(new DataItem { Column1 = "a.1", Column2 = "a.2", Column3 = "a.3", Column4 = "a.4" }); dg.Items.Add(new DataItem { Column1 = "b.1", Column2 = "b.2", Column3 = "b.3", Column4 = "b.4" }); } } 

我希望这有帮助。

问候Jörg

这个函数用于从数据库string query = "Select * from VWpatientinfo"; DataTable dataTableObject = new DataTable("Table Name");数据string query = "Select * from VWpatientinfo"; DataTable dataTableObject = new DataTable("Table Name"); string query = "Select * from VWpatientinfo"; DataTable dataTableObject = new DataTable("Table Name");

 obj.DataRetrive(query,dataTableObject); DataGridName.ItemsSource = dataTableObject.DefaultView; 

在此处输入图像描述

的.xaml:

       

的.cs:

 public class DataItem { public bool Column1 { get; set; } public string Column2 { get; set; } } ///  /// Interaction logic for MainWindow.xaml ///  public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { DataItem item = new DataItem(); item.Column1 = true; item.Column2 = "test"; dataGrid.Items.Add(item); } }