【问题标题】:how to add a row in a datagridview using textboxes and a button如何使用文本框和按钮在 datagridview 中添加一行
【发布时间】:2017-11-21 00:04:30
【问题描述】:

所以我有一个填充了对象列表的 datagridview。 我在表单上添加了 3 个文本框和一个按钮。问题是如何使用文本框中的文本将另一行插入并填充到 datagridview 中。

这是我的课:

class Professor
    {
    private int id;
    private string name;
    private double salary; 

    public Professor()
    {
        this.id= 0;
        this.name = null;
        this.salary= 0;
    }
    public Professor(int m, string n, double s)
    {
        this.id= m;
        this.name = n;
        this.salary= s;
    }
    } 

这是列表的声明:

ArrayList listProfessors = new ArrayList();

这是填充 DataGridView 的按钮:

private void addInGridViewFromList_Click(object sender, EventArgs e)
        {
            string linie;
            System.IO.StreamReader file= new System.IO.StreamReader("D:\\Profesor\\Profesor\\Profesori.txt");
        while ((line= file.ReadLine()) != null)
        {
            string[] t = line.Split(',');                
        listProfessors .Add(new Professor(Convert.ToInt32(t[0]), t[1], Convert.ToDouble(t[2])));
        }
        file.Close();

        dataGridView1.DataSource = listProfessors ;
    }

在此按钮上,我想手动(使用 texboxes)将另一行添加到 DataGridView 中。

private void AddFromKeyboard_Click(object sender, EventArgs e)
    {

    }

【问题讨论】:

    标签: c# asp.net .net sharp


    【解决方案1】:

    您需要创建一个按钮事件来执行您想要的操作,并在按下按钮时添加一个包含所需文本框的新行。

        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Add(textBox1.Text, textBox2.Text, textBox3.Text);
        }
    

    编辑:所以尝试通过按钮将新项目添加到您的列表中:

    private void AddFromKeyboard_Click(object sender, EventArgs e)
    {
       listProfessors.Add(new Professor(Convert.ToInt32(textBox1.Text), textBox2.Text, Convert.ToDouble(textBox3.Text)));
    }
    

    【讨论】:

      【解决方案2】:

      在做任何事情之前,您应该向我们提供一些您正在做一些事情的代码,但如果没有它,我也会尝试向您解释,

      接下来你可能要做的首先是:检查你的数据网格的来源是某个列表,所以你可以从你的文本框创建一个相应的对象,你可以简单地将它添加到你的列表中,它是数据网格的来源,然后简单地刷新来源如:

      dataGrid.ItemsSource=null;
      dataGrid.ItemsSource = myCustomList;
      

      或者你可以这样做:

      private void btnAdd_Click(object sender, EventArgs e)
      {
              string firstColum = firstTextBox.Text;
              string secondColum = secondTextBox.Text;
              string[] row = { firstColum, secondColum };
              yourDatagrid.Rows.Add(row);
      }
      

      但我再次说完全正确的答案,您应该提供/发布您的代码。

      希望对你有帮助

      【讨论】:

      • 它不起作用......但我听你的,我发布了我的代码。也许你可以检查
      猜你喜欢
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多