我尝试将不同的项添加到List中,然后在Datagridview中显示..
我有这个,但每次我添加一个新项目,替换最后一项
private void btnAgregar_Click(object sender, EventArgs e)
{
List<alumno> p2 = new List<alumno>();
p2.Add(new alumno() { telefono=(int.Parse(txtId.Text)), nombre=(txtNombre.Text), apellido=(txtApellido.Text) });
dataGridView1.DataSource = p2;
}
答案 0 :(得分:0)
您不会将商品保留在任何地方。您每次都只是创建一个新列表:
List<alumno> p2 = new List<alumno>();
如果你的类本身是持久的,你可以使它成为类级属性:
private List<alumno> p2 = new List<alumno>();
private void btnAgregar_Click(object sender, EventArgs e)
{
p2.Add(new alumno() { telefono=(int.Parse(txtId.Text)), nombre=(txtNombre.Text), apellido=(txtApellido.Text) });
dataGridView1.DataSource = p2;
}
请注意,在Web应用程序中,这将是非常不同的,因为在Web应用程序中,类实例本身并不存在。在这种情况下,您希望将值保留在其他位置,并且您有许多选项。页面状态,会话状态,应用程序状态,数据库等
答案 1 :(得分:0)
您应该将Click的创建移出clickEvent。因为每次单击该按钮都会生成一个新列表,并且您之前的列表将丢失。您应首先声明List(例如在表单启动时),然后使用ClickEvent将您的项目添加到列表中
`列表p2 =新列表();
private void btnAgregar_Click(object sender,EventArgs e) { p2.Add(new alumno(){telefono =(int.Parse(txtId.Text)),nombre =(txtNombre.Text),apellido =(txtApellido.Text)}); dataGridView1.DataSource = p2; }`