Exemple #1
0
        public void DoMUndo()
        {
            this.optMain = OperateType.optUndo;
            DataRowView current = (DataRowView)this.bdsMain.Current;

            if (current != null)
            {
                if (current.IsEdit)
                {
                    current.CancelEdit();
                }
                if (current.IsNew)
                {
                    current.Delete();
                }
                base.DBDataSet.Tables[this.strTbNameMain].AcceptChanges();
                current = (DataRowView)this.bdsMain.Current;
                if (current != null)
                {
                    this.DataRowViewToUI(current, this.pnlEdit);
                    this.CtrlOptButtons(this.tlbMain, this.pnlEdit, this.optMain, base.DBDataSet.Tables[this.strTbNameMain]);
                    this.optMain = OperateType.optNone;
                    this.DisplayState(this.stbState, this.optMain);
                    this.CtrlControlReadOnly(this.pnlEdit, false);
                }
            }
        }
Exemple #2
0
        public void CancelEditAndEvents()
        {
            string reference = " =====ItemAdded:3 ------4 =====ItemAdded:4 ------5 =====ItemAdded:5 ------6 =====ItemDeleted:5 ------5 =====ItemAdded:5";

            eventWriter = new StringWriter();

            DataTable dt = new DataTable();

            dt.Columns.Add("col1");
            dt.Columns.Add("col2");
            dt.Columns.Add("col3");
            dt.Rows.Add(new object [] { 1, 2, 3 });
            dt.Rows.Add(new object [] { 1, 2, 3 });
            dt.Rows.Add(new object [] { 1, 2, 3 });

            DataView dv = new DataView(dt);

            dv.ListChanged += new ListChangedEventHandler(ListChanged);
            DataRowView a1 = dv.AddNew();

            eventWriter.Write(" ------" + dv.Count);
            // I wonder why but MS fires another event here.
            a1 = dv.AddNew();
            eventWriter.Write(" ------" + dv.Count);
            // I wonder why but MS fires another event here.
            DataRowView a2 = dv.AddNew();

            eventWriter.Write(" ------" + dv.Count);
            a2.CancelEdit();
            eventWriter.Write(" ------" + dv.Count);
            DataRowView a3 = dv.AddNew();

            AssertEquals(reference, eventWriter.ToString());
        }
        private void ButtonEdit_OnClick(object sender, RoutedEventArgs e)
        {
            DataRowView selectRow = (DataRowView)DataGridEmployees.SelectedItem;

            if (selectRow == null)
            {
                return;
            }
            selectRow.BeginEdit();
            EmployeeEditWindow employeeEditWindow = new EmployeeEditWindow(selectRow.Row, _connection);

            employeeEditWindow.ShowDialog();
            if (employeeEditWindow.DialogResult.HasValue && employeeEditWindow.DialogResult.Value)
            {
                selectRow.EndEdit();
                var _ = new SqlCommandBuilder(_adapter);
                try
                {
                    _adapter.Update(_table);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка измененеия выбранного сотрудника\n" + ex.Message, "Ошибка измененния сотрудника",
                                    MessageBoxButton.OK, MessageBoxImage.Hand);
                }
            }
            else
            {
                selectRow.CancelEdit();
            }
            RefreshDataEmployees();
        }
        private void updateButton_Click(object sender, RoutedEventArgs e)
        {
            DataSet _dc = dc.Copy();

            if (peopleDataGrid.SelectedItem != null)
            {
                DataRowView newRow = (DataRowView)peopleDataGrid.SelectedItem;

                newRow.BeginEdit();
                ChildWindow childWindow = new ChildWindow(newRow.Row, _dc);
                childWindow.ShowDialog();
                if (childWindow.DialogResult.HasValue && childWindow.DialogResult.Value)
                {
                    newRow.EndEdit();
                    adapter.Update(dt);
                }
                else
                {
                    newRow.CancelEdit();
                }
            }
            else
            {
                MessageBox.Show("Выберите строку");
            }
        }
Exemple #5
0
 private void btnUpdateData_Click(object sender, EventArgs e)
 {
     if (dgvPeople.SelectedRows != null && dgvPeople.SelectedRows.Count > 0)
     {
         string selectedName = dgvPeople.SelectedRows[0].Cells["Name"].Value.ToString();
         m_dsADO.Tables["tblPeople"].DefaultView.Sort = "Name";//Find로 조회하려면 정렬기준 설정 필요.
         int idx = m_dsADO.Tables["tblPeople"].DefaultView.Find(selectedName);
         if (idx != -1)
         {
             DataRowView row = m_dsADO.Tables["tblPeople"].DefaultView[idx];
             row.BeginEdit();
             row["Name"] = tbxNewName.Text;
             row["Age"]  = nudNewAge.Value;
             row["Male"] = cbxNewMale.Checked;
             if (MessageBox.Show("데이터를 변경하시겠습니까?", "데이터수정", MessageBoxButtons.OKCancel) == DialogResult.OK)
             {
                 row.EndEdit();
             }
             else
             {
                 row.CancelEdit();
             }
         }
     }
 }
Exemple #6
0
        private bool DoUndo()
        {
            if (this.dataGridView_Main.RowCount < 2)
            {
                return(true);
            }
            this.OptMain = OperateType.optUndo;
            DataRowView drv = null;

            drv = (DataRowView)this.bindingSource_Main.Current;
            if (drv != null)
            {
                if (drv.IsEdit)
                {
                    drv.CancelEdit();
                }
                if (drv.IsNew)
                {
                    drv.Delete();
                }
                base.DBDataSet.Tables[this.strTbNameMain].AcceptChanges();
                drv = (DataRowView)this.bindingSource_Main.Current;
                this.DataRowViewToUI(drv, this.panel_Edit);
                this.CtrlOptButtons(this.tlbMain, this.panel_Edit, this.OptMain, base.DBDataSet.Tables[this.strTbNameMain]);
                this.OptMain = OperateType.optNone;
                this.DisplayState(this.stbState, this.OptMain);
                this.CtrlControlReadOnly(this.panel_Edit, false);
            }
            return(false);
        }
Exemple #7
0
        public void DoMUndo()
        {
            optMain = OperateType.optUndo;
            DataRowView drv = (DataRowView)bdsMain.Current;

            if (drv != null)
            {
                if (drv.IsEdit)
                {
                    drv.CancelEdit();
                }
                if (drv.IsNew)
                {
                    drv.Delete();
                }
            }
            else
            {
                return;
            }
            DBDataSet.Tables[strTbNameMain].AcceptChanges();
            //控制录入问题
            CtrlOptButtons(this.tlbMain, pnlEdit, optMain, DBDataSet.Tables[strTbNameMain]);
            optMain = OperateType.optNone;
            DisplayState(stbState, optMain);
            CtrlControlReadOnly(pnlEdit, false);
        }
        public void AddNewTest()
        {
            DataView     dv = new DataView(_dt);
            IBindingList ib = dv;

            ib.ListChanged += new ListChangedEventHandler(OnListChanged);

            try
            {
                _args = null;
                object o = ib.AddNew();
                Assert.Equal(typeof(DataRowView), o.GetType());
                Assert.Equal(ListChangedType.ItemAdded, _args.ListChangedType);
                Assert.Equal(4, _args.NewIndex);
                Assert.Equal(-1, _args.OldIndex);

                DataRowView r = (DataRowView)o;
                Assert.Equal(25, r["id"]);
                Assert.Equal(DBNull.Value, r["name"]);
                Assert.Equal(5, dv.Count);

                _args = null;
                r.CancelEdit();
                Assert.Equal(ListChangedType.ItemDeleted, _args.ListChangedType);
                Assert.Equal(4, _args.NewIndex);
                Assert.Equal(-1, _args.OldIndex);
                Assert.Equal(4, dv.Count);
            }
            finally
            {
                ib.ListChanged -= new ListChangedEventHandler(OnListChanged);
            }
        }
        private void ButtonEdit_OnClick(object sender, RoutedEventArgs e)
        {
            DataRowView selectRow = (DataRowView)DataGridDepartments.SelectedItem;

            if (selectRow == null)
            {
                return;
            }
            selectRow.BeginEdit();
            DepartmentEditWindow departmentEditWindow = new DepartmentEditWindow(selectRow.Row);

            departmentEditWindow.ShowDialog();
            if (departmentEditWindow.DialogResult.HasValue && departmentEditWindow.DialogResult.Value)
            {
                selectRow.EndEdit();
                var _ = new SqlCommandBuilder(_adapter);
                try
                {
                    _adapter.Update(_table);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка редактирования выбранного отдела\n" + ex.Message,
                                    "Ошибка редактирования отдела", MessageBoxButton.OK, MessageBoxImage.Hand);
                }
            }
            else
            {
                selectRow.CancelEdit();
            }
            RefreshDataDepartments();
        }
Exemple #10
0
        public void IsEdit()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            DataRowView drv = dv[0];

            // default value
            Assert.False(drv.IsEdit);

            // after BeginEdit
            drv.BeginEdit();
            Assert.True(drv.IsEdit);

            // after CancelEdit
            drv.CancelEdit();
            Assert.False(drv.IsEdit);

            // after BeginEdit again
            drv.BeginEdit();
            Assert.True(drv.IsEdit);

            // after EndEdit
            drv.EndEdit();
            Assert.False(drv.IsEdit);
        }
Exemple #11
0
        public void AddNewTest()
        {
            DataView     dv = new DataView(dt);
            IBindingList ib = (IBindingList)dv;

            ib.ListChanged += new ListChangedEventHandler(OnListChanged);

            try {
                args = null;
                object o = ib.AddNew();
                Assert.AreEqual(typeof(DataRowView), o.GetType(), "#1");
                Assert.AreEqual(ListChangedType.ItemAdded, args.ListChangedType, "#1.1");
                Assert.AreEqual(4, args.NewIndex, "#1.2");
                Assert.AreEqual(-1, args.OldIndex, "#1.3");

                DataRowView r = (DataRowView)o;
                Assert.AreEqual(25, r ["id"], "#2");
                Assert.AreEqual(DBNull.Value, r ["name"], "#3");
                Assert.AreEqual(5, dv.Count, "#4");

                args = null;
                r.CancelEdit();
                Assert.AreEqual(ListChangedType.ItemDeleted, args.ListChangedType, "#4.1");
                Assert.AreEqual(4, args.NewIndex, "#4.2");
                Assert.AreEqual(-1, args.OldIndex, "#4.3");
                Assert.AreEqual(4, dv.Count, "#5");
            } finally {
                ib.ListChanged -= new ListChangedEventHandler(OnListChanged);
            }
        }
Exemple #12
0
        public void CancelEdit()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            DataRowView drv = dv[0];

            drv.BeginEdit();
            drv["String1"] = "ChangeValue";

            // check Proposed value
            Assert.Equal("ChangeValue", dt.Rows[0]["String1", DataRowVersion.Proposed]);

            // check IsEdit
            Assert.True(drv.IsEdit);

            // check Proposed value
            drv.CancelEdit();
            Assert.False(dt.Rows[0].HasVersion(DataRowVersion.Proposed));

            // check current value
            Assert.Equal("1-String1", dt.Rows[0]["String1", DataRowVersion.Current]);

            // check IsEdit after cancel edit
            Assert.False(drv.IsEdit);
        }
Exemple #13
0
        [Test] public void CancelEdit()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            DataRowView drv = dv[0];

            drv.BeginEdit();
            drv["String1"] = "ChangeValue";

            // check Proposed value
            Assert.AreEqual("ChangeValue", dt.Rows[0]["String1", DataRowVersion.Proposed], "DRV5");

            // check IsEdit
            Assert.AreEqual(true, drv.IsEdit, "DRV6");

            // check Proposed value
            drv.CancelEdit();
            Assert.AreEqual(false, dt.Rows[0].HasVersion(DataRowVersion.Proposed), "DRV7");

            // check current value
            Assert.AreEqual("1-String1", dt.Rows[0]["String1", DataRowVersion.Current], "DRV8");

            // check IsEdit after cancel edit
            Assert.AreEqual(false, drv.IsEdit, "DRV9");
        }
Exemple #14
0
        [Test] public void IsEdit()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            DataView  dv = new DataView(dt);

            DataRowView drv = dv[0];

            // default value
            Assert.AreEqual(false, drv.IsEdit, "DRV30");

            // after BeginEdit
            drv.BeginEdit();
            Assert.AreEqual(true, drv.IsEdit, "DRV31");

            // after CancelEdit
            drv.CancelEdit();
            Assert.AreEqual(false, drv.IsEdit, "DRV32");

            // after BeginEdit again
            drv.BeginEdit();
            Assert.AreEqual(true, drv.IsEdit, "DRV33");

            // after EndEdit
            drv.EndEdit();
            Assert.AreEqual(false, drv.IsEdit, "DRV34");
        }
        /// <summary>Обработка нажатия кнопки "редактировать департамент"</summary>
        /// <param name="sender">Объект</param>
        /// <param name="args">Параметры</param>
        private void BtnEditDep_Click(object sender, RoutedEventArgs e)
        {
            if (cbDepList.SelectedItem != null)
            {
                DataRowView editDepRow = (DataRowView)cbDepList.SelectedItem;
                editDepRow.BeginEdit();

                DepEditWindow depEditWindow = new DepEditWindow(editDepRow.Row);
                depEditWindow.ShowDialog();

                if (depEditWindow.DialogResult.HasValue && depEditWindow.DialogResult.Value)
                {
                    editDepRow.EndEdit();
                    adDep.Update(dtDep);
                    dtGeneral.Clear();
                    adGeneral.Fill(dtGeneral);
                }
                else
                {
                    editDepRow.CancelEdit();
                }
            }
            else
            {
                MessageBox.Show("Выберете отдел для редактирования!");
            }
        }
Exemple #16
0
        //Activate This Construntor to log All To Standard output
        //public TestClass():base(true){}

        //Activate this constructor to log Failures to a log file
        //public TestClass(System.IO.TextWriter tw):base(tw, false){}


        //Activate this constructor to log All to a log file
        //public TestClass(System.IO.TextWriter tw):base(tw, true){}

        //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES

        public void run()
        {
            Exception exp = null;
            DataTable dt  = GHTUtils.DataProvider.CreateParentDataTable();
            DataView  dv  = new DataView(dt);

            DataRowView drv = dv[0];

            try
            {
                BeginCase("default value");
                Compare(drv.IsEdit, false);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("after BeginEdit");
                drv.BeginEdit();
                Compare(drv.IsEdit, true);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("after CancelEdit");
                drv.CancelEdit();
                Compare(drv.IsEdit, false);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("after BeginEdit again");
                drv.BeginEdit();
                Compare(drv.IsEdit, true);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("after EndEdit ");
                drv.EndEdit();
                Compare(drv.IsEdit, false);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }
        }
Exemple #17
0
        //Activate This Construntor to log All To Standard output
        //public TestClass():base(true){}

        //Activate this constructor to log Failures to a log file
        //public TestClass(System.IO.TextWriter tw):base(tw, false){}


        //Activate this constructor to log All to a log file
        //public TestClass(System.IO.TextWriter tw):base(tw, true){}

        //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES

        public void run()
        {
            Exception exp = null;
            DataTable dt  = GHTUtils.DataProvider.CreateParentDataTable();
            DataView  dv  = new DataView(dt);

            DataRowView drv = dv[0];

            drv.BeginEdit();
            drv["String1"] = "ChangeValue";

            try
            {
                BeginCase("check Proposed value");
                Compare(dt.Rows[0]["String1", DataRowVersion.Proposed], "ChangeValue");
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("check IsEdit");
                Compare(drv.IsEdit, true);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("check Proposed value");
                drv.CancelEdit();
                Compare(dt.Rows[0].HasVersion(DataRowVersion.Proposed), false);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("check current value");
                Compare(dt.Rows[0]["String1", DataRowVersion.Current], "1-String1");
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }

            try
            {
                BeginCase("check IsEdit after cancel edit");
                Compare(drv.IsEdit, false);
            }
            catch (Exception ex)     { exp = ex; }
            finally { EndCase(exp); exp = null; }
        }
Exemple #18
0
 /// <summary>
 /// Запускает форму для редактирования строки.
 /// </summary>
 /// <param name="source"></param>
 private void EditRow(DataRowView source)
 {
     source.BeginEdit();
     Editor.ReBindControlsToDataRow(source);
     if (Editor.ShowDialog() == DialogResult.OK)
     {
         source.EndEdit();
     }
     else
     {
         source.CancelEdit();
     }
 }
Exemple #19
0
        private void btnAddNew_Click(object sender, EventArgs e)
        {
            DataRowView row = m_dsADO.Tables["tblPeople"].DefaultView.AddNew();

            row["Name"] = tbxNewName.Text;
            row["Age"]  = nudNewAge.Value;
            row["Male"] = cbxNewMale.Checked;
            if (MessageBox.Show("새로운 데이터를 추가하시겠습니까?", "데이터추가", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                row.EndEdit();
            }
            else
            {
                row.CancelEdit();
            }
        }
Exemple #20
0
    // <Snippet1>
    private void EditDataRowView(DataRowView rowView,
                                 string columnToEdit)
    {
        rowView.BeginEdit();
        rowView[columnToEdit] = textBox1.Text;

        // Validate the input with a function.
        if (ValidateCompanyName(rowView[columnToEdit]))
        {
            rowView.EndEdit();
        }
        else
        {
            rowView.CancelEdit();
        }
    }
Exemple #21
0
        private void BtnChengeEmp_Click(object sender, RoutedEventArgs e)
        {
            DataRowView newRow = (DataRowView)EmployeeDataGrid.SelectedItem; //выбор строки

            newRow.BeginEdit();
            editWindow editWindow = new editWindow(newRow.Row);

            editWindow.ShowDialog();
            if (editWindow.DialogResult.HasValue && editWindow.DialogResult.Value)
            {
                newRow.EndEdit();
                adapter.Update(dt);
            }
            else
            {
                newRow.CancelEdit();
            }
        }
Exemple #22
0
        private void updateButton_Click(object sender, RoutedEventArgs e)
        {
            DataRowView newRow = (DataRowView)peopleDataGrid.SelectedItem;

            newRow.BeginEdit();
            EditWindow editWindow = new EditWindow(newRow.Row);

            editWindow.ShowDialog();
            if (editWindow.DialogResult.HasValue && editWindow.DialogResult.Value)
            {
                newRow.EndEdit();
                adapter.Update(dt);
            }
            else
            {
                newRow.CancelEdit();
            }
        }
Exemple #23
0
        private void WorkersButtonChange_Click(object sender, RoutedEventArgs e)
        {
            DataRowView drv = (DataRowView)ListViewName.SelectedItem;

            drv.BeginEdit();
            WorkersEdit newWorkersEdit = new WorkersEdit(drv.Row);

            newWorkersEdit.ShowDialog();
            if (newWorkersEdit.DialogResult.HasValue && newWorkersEdit.DialogResult.Value)
            {
                drv.EndEdit();
                ServerDB.AdapterWorkers.Update(ServerDB.dtWorkers);
            }
            else
            {
                drv.CancelEdit();
            }
        }
Exemple #24
0
        /// <summary>
        /// Вызов окна редактирования сотрудника.
        /// </summary>
        /// <param name="employee">Редактируемый сотрудник.</param>
        public void EditEmployee(DataRowView employee)
        {
            EmployeeWindow employeeWindow;

            employee.BeginEdit();
            employeeWindow       = new EmployeeWindow(employee.Row);
            employeeWindow.Owner = (Window)this.view;
            employeeWindow.ShowDialog();
            if (employeeWindow.DialogResult.HasValue && employeeWindow.DialogResult.Value)
            {
                employee.EndEdit();
            }
            else
            {
                employee.CancelEdit();
            }
            Model.EmployeeUpdate();
        }
Exemple #25
0
        /// <summary>
        /// Вызов окна редактирования подразделения.
        /// </summary>
        /// <param name="department">Редактируемое подразделение.</param>
        public void EditDepartment(DataRowView department)
        {
            DepartmentWindow departmentWindow;

            department.BeginEdit();
            departmentWindow       = new DepartmentWindow(department.Row);
            departmentWindow.Owner = (Window)this.view;
            departmentWindow.ShowDialog();
            if (departmentWindow.DialogResult.HasValue && departmentWindow.DialogResult.Value)
            {
                department.EndEdit();
            }
            else
            {
                department.CancelEdit();
            }
            Model.DepartmentUpdate();
        }
Exemple #26
0
        /// <summary>
        /// Редактировать отдел
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void BtnEditDepartment_Click(object sender, RoutedEventArgs e)
        {
            DataRowView      newRow           = (DataRowView)mainWindow.lbDepartments.SelectedItem;
            DepartmentWindow departmentWindow = new DepartmentWindow(newRow.Row);

            newRow.BeginEdit();
            departmentWindow.Owner = mainWindow;
            departmentWindow.ShowDialog();
            if (departmentWindow.DialogResult.HasValue && departmentWindow.DialogResult.Value)
            {
                newRow.EndEdit();
                sqlDepartmentAdapter.Update(deptDatatTable);
            }
            else
            {
                newRow.CancelEdit();
            }
        }
Exemple #27
0
        /// <summary>
        /// Редактирование сотрудника
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void BtnEditEmployee_Click(object sender, RoutedEventArgs e)
        {
            DataRowView    newRow         = (DataRowView)mainWindow.lbEmployees.SelectedItem;
            EmployeeWindow employeeWindow = new EmployeeWindow(newRow.Row, deptDatatTable);

            employeeWindow.Owner = mainWindow;
            newRow.BeginEdit();
            employeeWindow.ShowDialog();
            if (employeeWindow.DialogResult.HasValue && employeeWindow.DialogResult.Value)
            {
                newRow.EndEdit();
                empDatatTable.Rows.Add(newRow);
                sqlEmployeeAdapter.Update(empDatatTable);
            }
            else
            {
                newRow.CancelEdit();
            }
        }
Exemple #28
0
 private void EditDep_Click(object sender, RoutedEventArgs e)
 {
     if (DepBox.SelectedIndex > -1)
     {
         DataRowView curRow = (DataRowView)DepBox.SelectedItem;
         curRow.BeginEdit();
         EditDep editWindow = new EditDep(curRow.Row);
         editWindow.ShowDialog();
         if (editWindow.DialogResult.Value)
         {
             curRow.EndEdit();
             adapterDep.Update(dtDepartments);
         }
         else
         {
             curRow.CancelEdit();
         }
     }
 }
        private void UpdateRecord(object sender, RoutedEventArgs e)
        {
            DataRowView editRow = (DataRowView)DataGridEmployee.SelectedItem;

            editRow.BeginEdit();
            EmployeeEditWindow editWindow = new EmployeeEditWindow(editRow.Row);

            editWindow.ShowDialog();

            if (editWindow.DialogResult.HasValue && editWindow.DialogResult.Value)
            {
                editRow.EndEdit();
                adapter.Update(dt);
            }
            else
            {
                editRow.CancelEdit();
            }
        }
        /// <summary>Обработка нажатия кнопки "редактировать сотрудника"</summary>
        /// <param name="sender">Объект</param>
        /// <param name="args">Параметры</param>
        private void BtnEditEmp_Click(object sender, RoutedEventArgs e)
        {
            string result = String.Empty;

            if (empList.SelectedItem != null)
            {
                DataRowView editEmpRow = (DataRowView)empList.SelectedItem;
                editEmpRow.BeginEdit();

                EmpEditWindow empEditWindow = new EmpEditWindow(editEmpRow.Row, dtDep);

                empEditWindow.ShowDialog();


                if (empEditWindow.DialogResult.HasValue && empEditWindow.DialogResult.Value)
                {
                    editEmpRow.EndEdit();
                    adEmpl.Update(dtEmpl);
                    dtGeneral.Clear();
                    adGeneral.Fill(dtGeneral);
                }
                else
                {
                    editEmpRow.CancelEdit();
                }
                var request = dtGeneral
                              .AsEnumerable()
                              .Where(empID => empID.Field <int>("ID") == (int)editEmpRow["ID"]);

                foreach (var item in request)
                {
                    result += $"{item[1]} {item[2]}, возраст: {item[3]}, " +
                              $"зарплата: {item[4]:##}, отдел: {item[5]}\n";
                }

                tbInfo.Text = result;
            }
            else
            {
                MessageBox.Show("Выберете сотрудника для редактирования!");
            }
        }