//Закрытый метод для обработки события удаления строки из таблицы private static void UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { var list = e.Row.Cells; //Id; //"ФИО"; //"Звание"; //"Год рождения"; //"Домашний адрес"; //"Место работы"; //"Явиться по адресу"; //"Компания"; //"ВУС №"; string GroupName = list[0].Value.ToString(); Member member = new Member() { FIO = list[1].Value.ToString(), Rank = list[2].Value.ToString(), YearOfBirth = list[3].Value.ToString(), HomeAddress = list[4].Value.ToString(), PlaceOfWork = list[5].Value.ToString(), TurnoutAddress = list[6].Value.ToString(), Company = list[7].Value.ToString(), VusNumber = list[8].Value.ToString() }; var group = GroupsArray.FindGroup(GroupName); group.RemoveMember(member); SQLite.RemoveMemberFromDB(GroupName, member); //MessageBox.Show("Deleted"); }
private void RemoveButton_Click(object sender, EventArgs e) { try { var dataGrid = (DataGridView)EditableControls.GroupsTab.SelectedTab.Controls[0]; Member memb; string Group_Name; foreach (DataGridViewRow row in dataGrid.SelectedRows) { Group_Name = row.Cells[0].Value.ToString(); //MessageBox.Show(Group_Name); memb = new Member() { FIO = row.Cells[1].Value.ToString(), Rank = row.Cells[2].Value.ToString(), YearOfBirth = row.Cells[3].Value.ToString(), HomeAddress = row.Cells[4].Value.ToString(), PlaceOfWork = row.Cells[5].Value.ToString(), TurnoutAddress = row.Cells[6].Value.ToString(), Company = row.Cells[7].Value.ToString(), VusNumber = row.Cells[8].Value.ToString() }; //TODO: //Удалить из БД SQLite.RemoveMemberFromDB(Group_Name, memb); //Удалить из программного хранилища var membs = GroupsArray.FindGroup(Group_Name).members; for (int i = 0; i < membs.Count; i++) { var member = membs[i]; if ( (member.FIO == memb.FIO) && (member.Rank == memb.Rank) && (member.YearOfBirth == memb.YearOfBirth) && (member.HomeAddress == memb.HomeAddress) && (member.PlaceOfWork == memb.PlaceOfWork) && (member.TurnoutAddress == memb.TurnoutAddress) && (member.Company == memb.Company) && (member.VusNumber == memb.VusNumber) ) { membs.RemoveAt(i); break; } } //Удалить из таблицы dataGrid.Rows.Remove(row); } } catch (Exception) { } #region Удаление группы List <string> CheckedGroupNames = new List <string>(); foreach (var CheckedGroupName in GroupList.CheckedItems) { CheckedGroupNames.Add(CheckedGroupName.ToString()); SQLite.RemoveGroupFromDB(CheckedGroupName.ToString()); } //TODO: реализовать удаление из ListCheckBox, удаление вкладок и удаление из хранилища данных foreach (var GroupName in CheckedGroupNames) { try { GroupsArray.RemoveGroup(GroupName); EditableControls.RemoveCheckedListItem(GroupName); EditableControls.RemoveTabPage(GroupName); } catch (Exception) { } } #endregion }