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); } } }
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("Выберите строку"); } }
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(); } } } }
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); }
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(); }
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); }
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); } }
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); }
[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"); }
[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("Выберете отдел для редактирования!"); } }
//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; } }
//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; } }
/// <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(); } }
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(); } }
// <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(); } }
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(); } }
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(); } }
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(); } }
/// <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(); }
/// <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(); }
/// <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(); } }
/// <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(); } }
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("Выберете сотрудника для редактирования!"); } }