[英]How i can add new row into datagrid in wpf?
我试图为按钮的每次单击插入DataGrid的所有Rows值,所以如果用户在datagrid上插入了三次显示三行,则我有一个类有代码
public string Name { get; set; }
public string Job { get; set; }
public string Phone { get; set; }
public MyGrid(string Vendors,string Jobs,string Tel)
{
Name = Vendors;
Job = Jobs;
Phone = Tel;
}
我在这里打电话给按钮点击事件
static List<MyGrid> gride;
gride = new List<MyGrid>();
for (int i = 0; i < 3; i++)
{
var myg1 = new MyGrid(textBox10.Text, textBox11.Text, textBox12.Text);
gride.Add(myg1);
}
dataGridView1.ItemsSource = gride;
这段代码可以正常工作,但是有一个问题,当添加数据应该显示在一行中,但是一次单击却出现在3行中时,我想用不同的数据在每次单击中显示一行。 我如何在WPF中单击按钮可以添加新行
首先这不是做WPF的方法。 使用适当的绑定来实现您想要的。
以WPF方式执行的步骤:
ObservableCollection<MyGrid>
并将ItemsSource与该集合绑定。 INotifyCollectionChanged
以来,DataGrid将自动刷新。 现在,对于您的代码,有几个问题。
Remove the for loop
。 initialize list only once from class constructor
。 No need to set ItemsSource again
每次单击按钮都No need to set ItemsSource again
。 public class CodeBehindClass
{
private ObservableCollection<MyGrid> gride;
public CodeBehindClass()
{
gride = new ObservableCollection<MyGrid>();
dataGridView1.ItemsSource = gride;
}
private void ButtonHandler(object sender, RoutedEventArgs e)
{
var myg1 = new MyGrid(textBox10.Text, textBox11.Text, textBox12.Text);
gride.Add(myg1);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.