Мне трудно решить эту проблему.У меня есть объект с именем Section, я добавляю этот объект Section в список, а затем этот список используется в качестве источника данных представления таблицы данных.Когда я добавляю объект в список, все хорошо, когда я устанавливаю источник данных DataGridView и отображаю его в сетке, все нормально.Когда я добавляю еще один объект типа Section, как только список будет задан как источник данных сетки, сетка отобразит 2 объекта, но оба они совпадают с первым добавленным объектом.Добавление третьего объекта ведет себя так же и так далее.Что может быть причиной этого ?изменение списка источника данных, когда он связан с сеткой данных?
Вот часть, в которой устанавливается объект
private void AddSectionButtonClicked(object sender, EventArgs e) {
try {
var documentType = MopDocument.DocumentType;
var sections = FillAssemblyInformation(documentType.DllPath);
if (sections == null || sections.Count <= 0)
return;
var addSectionForm = new MopSectionAddEditForm(sections);
var dialog = addSectionForm.ShowDialog();
if (dialog == DialogResult.Cancel)
return;
var addedSection = addSectionForm.AddedEditedMopSection;
var sectionsList = dgvSelectedSections.DataSource as BindingList<MopSection>;
if (sectionsList == null || sectionsList.Count == 0) {
sectionsList = new BindingList<MopSection>();
addedSection.SequenceNumber = 1;
} else {
var lastLevel = sectionsList[sectionsList.Count - 1].SequenceNumber;
addedSection.SequenceNumber = lastLevel + 1;
}
sectionsList.Add(addedSection);
// I looped this list to check what objects are being added, and it is correct.
dgvSelectedSections.DataSource = null;
dgvSelectedSections.DataSource = sectionsList;
// I looped again on the list and now the objects are duplicated to the first element that was added to the list
dgvSelectedSections.Rows[dgvSelectedSections.Rows.Count - 1].Selected = true;
} catch (Exception ex) {
Logger.ShowErrorDialog("EXception Occured", ex);
}
}
Пожалуйста, если у вас есть какая-либо информация о том, почему это происходит, позвольте мнезнать