У меня есть Data GridView с именем grdInformationDetails, который загружается при загрузке события формы SearchInformation.При двойном щелчке по событию этого GridView у меня есть код, который отправляет значения строк в форму AddForm для обновления записи.После обновления GridView дублирует записи.Я уже установил для источника данных GridView значение null перед загрузкой Record из базы данных, а также для свойства autoGeneratedColumn, установленного в false.Я не понимаю, где я делаю неправильно.Пожалуйста, помогите.
Вот событие двойного щелчка
private void grdInformationDetails_DoubleClick(object sender, EventArgs e)
{
int rowToUpdate = grdInformationDetails.Rows.GetFirstRow(DataGridViewElementStates.Selected);
int employeeId = Convert.ToInt32(grdInformationDetails.Rows[rowToUpdate].Cells["id"].Value);
ShowAddInfoForm(employeeId, true);
}
Вот код ShowAddInfoForm
private void ShowAddInfoForm(int employeeId, bool isupdate)
{
AddInfo ainfo = new AddInfo();
ainfo.EmployeeId = employeeId;
ainfo.Isupdate = isupdate;
ainfo.ShowDialog();
grdInformationDetails.AutoGenerateColumns = false;
grdInformationDetails.DataSource = null;
LoadGridView();
}
Вот изображение записи, которая присутствует в базе данных![enter image description here](https://i.stack.imgur.com/wS4qK.jpg)
Вот дубликат записи после обновления ![enter image description here](https://i.stack.imgur.com/cE1NG.jpg)
ОБНОВЛЕНИЕ: Вот метод LoadGridView для загрузки GridView
private void LoadGridView()
{
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand(@"SELECT * FROM TableInfo", con);
con.Open();
using (SqlDataAdapter ad = new SqlDataAdapter(cmd))
{
ad.Fill(dtEmployees);
grdInformationDetails.DataSource = dtEmployees;
grdInformationDetails.Columns["Id"].Visible = false;
}
}
}