private void btDelRow_Click(object sender, EventArgs e) { int hendl = (this.grid.FocusedView as ColumnView).FocusedRowHandle; MDataSet.ReceiptDetailRow _detRow = (this.grid.FocusedView as ColumnView).GetDataRow(hendl) as MDataSet.ReceiptDetailRow; if (_detRow == null) { return; } int countChild = 0; /* foreach (DataRelation relation in _detRow.Table.ChildRelations) * { * if (relation.ChildKeyConstraint != null)//если внешний ключ * { * if (_detRow.GetChildRows(relation) != null) * { * arrRows = mrow.GetChildRows(relation); * * countChild += arrRows.Length; * } * } * } */ if (countChild != 0) { MessageBox.Show("Невозможно удалить запись, ссылок на нее : " + countChild.ToString(), this.Tag.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (MessageBox.Show(" Удалить запись? ", "Редактирование приходного акта", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { _detRow.Delete(); } this.SaveChanges(); }
public ReceiptDetailRowAdd(MDataSet.ReceiptDetailRow source, MDataSet.ProductRow product) { InitializeComponent(); _receiptDetailRow = source; _productRow = product; this.mDataSet = (source.Table.DataSet as MDataSet); this.receiptDetailBindingSource.DataSource = _receiptDetailRow; this.productBindingSource.DataSource = _productRow; this.productBindingSource.ResetBindings(false); this.receiptDetailBindingSource.ResetBindings(true); this.manufacturerBindingSource.DataSource = this.mDataSet.Manufacturer; this.errorProvider1.DataSource = this.receiptDetailBindingSource; this.errorProvider1.UpdateBinding(); }
public ReceiptDetailRowAdd(MDataSet.ReceiptDetailRow source,MDataSet.ProductRow product) { InitializeComponent(); _receiptDetailRow = source; _productRow = product; this.mDataSet = (source.Table.DataSet as MDataSet); this.receiptDetailBindingSource.DataSource = _receiptDetailRow; this.productBindingSource.DataSource = _productRow; this.productBindingSource.ResetBindings(false); this.receiptDetailBindingSource.ResetBindings(true); this.manufacturerBindingSource.DataSource = this.mDataSet.Manufacturer; this.errorProvider1.DataSource = this.receiptDetailBindingSource; this.errorProvider1.UpdateBinding(); }
private void gridViewProduct_Click(object sender, EventArgs e) /*создать новую строку, указатель на нее в ReceiptDetailRowAdd для редактирования*/ { if (this.gridViewProduct.IsValidRowHandle(this.gridViewProduct.FocusedRowHandle) & this.gridViewProduct.State == GridState.Normal & !this.gridViewProduct.IsFilterRow(this.gridViewProduct.FocusedRowHandle)) { FormDialog _formDialog = new FormDialog(); _formDialog.AcceptButton = null; _formDialog.Text = "Добавить стоку"; MDataSet.ReceiptDetailRow sourceRow = ((this.receiptDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.ReceiptDetailRow); int _idproduct = Convert.ToInt32(((this.productBindingSource.CurrencyManager.Current as DataRowView).Row as DataRow)["ID"]); MDataSet.ProductRow productRow = this.mDataSet.Product.FindByID(_idproduct); if (productRow == null) { ((this.productBindingSource.CurrencyManager.Current as DataRowView).Row as FullDataSet.ProductRow).SetModified(); this.mDataSet.Product.Merge(_productTable.GetChanges()); ((this.productBindingSource.CurrencyManager.Current as DataRowView).Row as FullDataSet.ProductRow).AcceptChanges(); productRow = this.mDataSet.Product.FindByID(_idproduct); } if ((sourceRow != null) & (productRow != null)) { ReceiptDetailRowAdd _receiptDetailRowAdd = new ReceiptDetailRowAdd(sourceRow, productRow); _formDialog.panel.Controls.Add(_receiptDetailRowAdd); if (DialogResult.OK == _formDialog.ShowDialog(this)) { this.receiptDetailBindingSource.EndEdit(); } else { this.receiptDetailBindingSource.CancelEdit(); } } } }
private void gridViewReceiptDetail_Click(object sender, EventArgs e) { if (this.gridViewReceiptDetail.IsValidRowHandle(this.gridViewReceiptDetail.FocusedRowHandle) & this.gridViewReceiptDetail.State == GridState.Normal & !this.gridViewReceiptDetail.IsFilterRow(this.gridViewReceiptDetail.FocusedRowHandle)) { FormDialog _formDialog = new FormDialog(); _formDialog.AcceptButton = null; _formDialog.Text = "Изменить стоку"; MDataSet.ReceiptDetailRow sourceRow = ((this.receiptDetailBindingSource.CurrencyManager.Current as DataRowView).Row as MDataSet.ReceiptDetailRow); ReceiptDetailRowAdd _receiptDetailRowAdd = new ReceiptDetailRowAdd(sourceRow, (sourceRow.GetParentRow("Product_ReceiptDetail") as MDataSet.ProductRow)); _formDialog.panel.Controls.Add(_receiptDetailRowAdd); if (DialogResult.OK == _formDialog.ShowDialog(this)) { this.receiptDetailBindingSource.EndEdit(); } else { this.receiptDetailBindingSource.CancelEdit(); } } }