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(); } } }