C#将项目添加到列表<;T>;和显示

本文关键字:gt 显示 lt 添加 列表 项目 | 更新日期: 2023-09-27 18:25:19

我试图将不同的项目添加到列表中,然后显示在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;
    }

C#将项目添加到列表<;T>;和显示

您不会在任何地方保留您的项目。你每次只是创建一个新的列表:

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应用中,类实例并不是固有的持久性。在这种情况下,您可能希望在其他地方保持该值,并且您有许多选择。页面状态、会话状态、应用程序状态、数据库等。

您应该将List的创建移出clickEvent。因为每次你点击按钮,都会生成一个新的列表,而你以前的列表将丢失。您应该首先声明List(例如在表单启动时),然后使用ClickEvent将您的项目添加到列表

`List p2=新列表();

private void btnAgregor_Click(对象发送方,EventArgs e){p2.Add(new alumino(){telefono=(int.Parse(txtId.Text)),nombre=(txtNobre.Text),apellido=(txtApellido.Text)});dataGridView1.DataSource=p2;}`