由于我无法发布到上一个问题,我想在此处发布。 这是我的代码,用于将文本框中的数据行添加到datagridview。我想在添加数据行时显示一个消息框。
我的代码有效,但始终没有显示第一条记录的消息框。它显示第6条记录的消息框的5倍,第8条记录的7倍。我在这个窗体中有一个清晰的按钮,当我点击它时,也会显示添加了行的消息,并显示数据网格视图中记录的次数。
任何人都可以在此代码中找到错误。?
这是我的添加按钮代码。
//Add button code
private void btnAdd_Click(object sender, EventArgs e)
{
try
{
//Create a new row in grid view
DataGridViewRow row = new DataGridViewRow();
//Create cells
row.CreateCells(this.myGrid, txtIdNum.Text, txtFname.Text, txtLname.Text, txtEmail.Text);
//add to data grid view
this.myGrid.Rows.Add(row);
//Throw mygrid_RowsAdded when a row is added.
myGrid.RowsAdded += new DataGridViewRowsAddedEventHandler(myGrid_RowsAdded);
}
catch(Exception xx)
{
MessageBox.Show(xx.Message);
}
}
添加行事件的代码
// Row add event
void myGrid_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
MessageBox.Show("New record is added..");
txtIdNum.Text = "";
txtFname.Text = "";
txtLname.Text = "";
txtEmail.Text = "";
}
答案 0 :(得分:0)
第一次执行btnAdd_Click时,你的事件处理程序没有被执行,因为你在添加行之后设置它...我建议你像这样交换你的两行代码:
myGrid.RowsAdded += new DataGridViewRowsAddedEventHandler(myGrid_RowsAdded);
this.myGrid.Rows.Add(row);
设置事件处理程序的更好的地方是在一些初始化代码中......你这样做会导致为btnAdd按钮上的每次点击获取更多事件......