示例#1
0
        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                int focused = this.gridViewInvRem.FocusedRowHandle;

                MDataSet.RemainsRow _rem = this.gridViewInvRem.GetDataRow(this.gridViewInvRem.FocusedRowHandle) as MDataSet.RemainsRow;

                _mainForm.RefreshData(_rem);

                if (_rem != null)
                {
                    MDataSet.InvoiceDetailRow _newRow = (this.invoiceDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.InvoiceDetailRow;

                    InvoiceDetailAdd _invoceDetailAdd = new InvoiceDetailAdd(_newRow, _rem, _mainForm);

                    FormDialog formDialog = new FormDialog();
                    formDialog.Text = "Добавить строку";
                    formDialog.panel.Controls.Add(_invoceDetailAdd);

                    if (DialogResult.OK == formDialog.ShowDialog(this))
                    {
                        this.invoiceDetailBindingSource.EndEdit();

                        this.SaleInvoiceDetail(_newRow);

                        _mainForm.RefreshData(_newRow);
                    }
                    else
                    {
                        this.gridViewInvRem.BeginDataUpdate();
                        this.invoiceDetailBindingSource.CancelEdit();
                        _rem.RejectChanges();
                        this.gridViewInvRem.EndDataUpdate();

                        this.gridRem.Focus();
                        this.gridViewInvRem.FocusedRowHandle = focused;
                        return;
                    }

                    _invoceDetailAdd.Dispose();

                    GC.Collect();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                MainForm.Log("gridControl1_DoubleClick " + err.Message);
            }
        }
示例#2
0
        private void btAdd_Click(object sender, EventArgs e)
        {
            /*создать новую строку, указатель на нее в  дл¤ редактировани¤*/
            MDataSet.RemainsRow _rems = this.gridViewRemainsInvDetEdt.GetDataRow(this.gridViewRemainsInvDetEdt.FocusedRowHandle) as MDataSet.RemainsRow;
            if (_rems == null)
            {
                return;
            }



            FormDialog _formDialog = new FormDialog();

            _formDialog.AcceptButton = _formDialog.btOk;
            _formDialog.Text         = "ƒобавить строку";

            MDataSet.InvoiceDetailRow sourceRow = ((this.invoiceDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.InvoiceDetailRow);

            MDataSet.RemainsRow remainsRow = ((this.RemainsBindingSource.CurrencyManager.Current as DataRowView).Row as  MDataSet.RemainsRow);

            MDataSet.ProductRow _productRow = (this.productBindingSource.DataSource as MDataSet.ProductDataTable).FindByID(remainsRow.ProductRef);


            if ((sourceRow != null) & (remainsRow != null))
            {
                InvoiceDetailRowAdd _invoiceDetailRowAdd = new InvoiceDetailRowAdd(sourceRow, remainsRow, _productRow);
                _formDialog.panel.Controls.Add(_invoiceDetailRowAdd);

                if (DialogResult.OK == _formDialog.ShowDialog(this))
                {
                    remainsRow.AcceptChanges();
                    this.invoiceDetailBindingSource.EndEdit();
                }
                else
                {
                    this.invoiceDetailBindingSource.CancelEdit();
                    remainsRow.RejectChanges();
                }
            }
        }