コード例 #1
0
        //Закрытый метод для обработки события удаления строки из таблицы
        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");
        }
コード例 #2
0
        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
        }