所以我有一个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)
{
}
答案 0 :(得分: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)));
}
答案 1 :(得分:0)
在你做任何事情之前,你应该向我们提供一些代码,但如果没有它,我会尝试向你解释,
首先你要做的就是下一步:检查你的数据网格的源代码是什么,所以你可以从你的文本框创建一个相应的对象,你可以简单地将它添加到你的列表中,这是datagrid的源代码并简单地刷新源:
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);
}
但我要再次说明你应该提供/发布你的代码。
无论我希望这会对你有所帮助