C# 如何在wpf中将新行添加到datagrid中?
我试图在每次点击按钮时插入DataGrid的所有行值, 所以,若用户在datagrid上插入三次显示三行,那个么我有一个类,里面有代码C# 如何在wpf中将新行添加到datagrid中?,c#,wpf,datagrid,C#,Wpf,Datagrid,我试图在每次点击按钮时插入DataGrid的所有行值, 所以,若用户在datagrid上插入三次显示三行,那个么我有一个类,里面有代码 public string Name { get; set; } public string Job { get; set; } public string Phone { get; set; } public MyGrid(string Vendors,string Jobs,string Tel) {
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;
静态列表网格;
gride=新列表();
对于(int i=0;i<3;i++)
{
var myg1=新的MyGrid(textBox10.Text、textBox11.Text、textBox12.Text);
网格添加(myg1);
}
dataGridView1.ItemsSource=gride;
这段代码正在运行,但有一个问题,当添加数据应该显示在一行中,但在一次单击中显示在3行内时,
我想在每次点击中显示一行不同的数据。
如何在每次单击wpf中的按钮时添加新行首先,这不是一种wpf方式。使用适当的绑定来实现您想要的 以WPF方式执行的步骤:
现在,对于您的代码,有两个问题
删除for循环
无需在每次单击按钮时再次设置ItemsSource
公共类CodeBehindClass
{
私有可观测收集网格;
公共CodeBehindClass()
{
gride=新的ObservableCollection();
dataGridView1.ItemsSource=gride;
}
私有void按钮句柄(对象发送器,RoutedEventArgs e)
{
var myg1=新的MyGrid(textBox10.Text、textBox11.Text、textBox12.Text);
网格添加(myg1);
}
}
如果只想添加一次,为什么要循环三次?然后删除for循环。@RohitVats当我删除for循环时,数据只添加了一次,但当我写入新数据并单击“添加”按钮时,行数据已更改,我想在同一行添加未更改的新行。除此之外,代码中还有几个问题。我补充了一个答案。看看能不能帮上忙。谢谢,现在可以了,但我还有一个问题,如何循环它们,以便在数据库中插入所有行您可以用于循环,然后运行与数据库中记录数相等的循环,并将它们添加到集合中。如果您不介意,我有一个问题,请告诉我如何捕获像dataGridView1这样的值单元格。行[I]。单元格[0]。值您可以参考此链接。
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);
}
}