private void _grid_KeyDownEdit(object sender, KeyEditEventArgs e)
        {
            // get editor which contains user input
            Control ctl = _grid.Editor;

            // handle manual user input for department code
            if (e.Col == _grid.Cols["ItemCode"].SafeIndex)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    if (String.IsNullOrEmpty(ctl.Text.Trim()))
                    {
                        // display data
                        _grid.SetData(e.Row, "ItemID", DBNull.Value);
                        _grid.SetData(e.Row, "ItemCode", DBNull.Value);
                        _grid.SetData(e.Row, "ItemName", DBNull.Value);
                        _grid.SetData(e.Row, "MeasureCode", DBNull.Value);
                        _grid.SetData(e.Row, "UnitPrice", 0);
                        _grid.SetData(e.Row, "TaxPct", 0);
                        _grid.SetData(e.Row, "TrxType", 0);
                        _grid.SetData(e.Row, "Quantity", 1);
                        _grid.SetData(e.Row, "Remarks", DBNull.Value);
                    }
                    else
                    {
                        dsCore.ItemsDataTable data = daItems1.GetDataByCode(ctl.Text);
                        if (data.Rows.Count > 0)
                        {
                            // display data
                            _grid.SetData(e.Row, "ItemID", data[0].ID);
                            _grid.SetData(e.Row, "ItemCode", data[0].Code);
                            _grid.SetData(e.Row, "ItemName", data[0].Name);
                            _grid.SetData(e.Row, "MeasureCode", data[0].IsMeasureCodeNull() ? "" : data[0].MeasureCode);
                            _grid.SetData(e.Row, "UnitPrice", data[0].IsSellingPriceNull() ? 0 : data[0].SellingPrice);
                            _grid.SetData(e.Row, "TaxPct", 0);
                            _grid.SetData(e.Row, "TrxType", 0);
                            _grid.SetData(e.Row, "Quantity", 1);
                            // display default remark
                            _grid.SetData(e.Row, "Remarks", c1TextBox2.Text);
                        }
                        else
                        {
                            _grid_CellButtonClick(sender, new RowColEventArgs(e.Row, e.Col));
                        }
                    }
                    // Auto counting for kredit each time
                    c1Label1.Value = CountDetails();
                }
            }
        }
        private void _grid_CellButtonClick(object sender, RowColEventArgs e)
        {
            Cursor = Cursors.AppStarting;
            try
            {
                // open item list form
                if (e.Col == _grid.Cols["ItemCode"].SafeIndex)
                {
                    frmItemSearch fx;
                    if (_grid[e.Row, "ItemCode"] == DBNull.Value)
                    {
                        fx = new frmItemSearch();
                    }
                    else
                    {
                        fx = new frmItemSearch((int)_grid[e.Row, "ItemID"]);
                    }
                    fx.ShowDialog();

                    if (fx.SelectedOK)
                    {
                        dsCore.ItemsDataTable data = daItems1.GetDataByID(fx.SelectedID);
                        // item info
                        if (data.Rows.Count > 0)
                        {
                            // display data
                            _grid.SetData(e.Row, "ItemID", data[0].ID);
                            _grid.SetData(e.Row, "ItemCode", data[0].Code);
                            _grid.SetData(e.Row, "ItemName", data[0].Name);
                            _grid.SetData(e.Row, "MeasureCode", data[0].IsMeasureCodeNull() ? "" : data[0].MeasureCode);
                            _grid.SetData(e.Row, "UnitPrice", data[0].IsSellingPriceNull() ? 0 : data[0].SellingPrice);
                            _grid.SetData(e.Row, "TaxPct", 0);
                            _grid.SetData(e.Row, "TrxType", 0);
                            _grid.SetData(e.Row, "Quantity", 1);
                            // display default remark
                            _grid.SetData(e.Row, "Remarks", c1TextBox2.Text);
                        }
                    }
                }
                // Auto counting for kredit each time
                c1Label1.Value = CountDetails();
            }
            catch (Exception ex)
            {
                Logger.ErrorRoutine(ex);
                RibbonMessageBox.Show("ERROR Adding Detail Items: " + ex.Message,
                                      Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            Cursor = Cursors.Default;
        }
        private void _grid_AfterEdit(object sender, RowColEventArgs e)
        {
            NumberFormatInfo nfi = Application.CurrentCulture.NumberFormat;

            if (e.Col == _grid.Cols["ItemID"].SafeIndex || e.Col == _grid.Cols["ItemCode"].SafeIndex)
            {
                if (_grid.GetData(e.Row, "ItemCode") != DBNull.Value &&
                    _grid.GetData(e.Row, "ItemCode").ToString().Trim() != "")
                {
                    // read data
                    string code = _grid.GetData(e.Row, "ItemCode").ToString().Trim();
                    dsCore.ItemsDataTable data = daItems1.GetDataByCode(code);
                    if (data.Rows.Count > 0)
                    {
                        // display data
                        _grid.SetData(e.Row, "ItemID", data[0].ID);
                        _grid.SetData(e.Row, "ItemCode", data[0].Code);
                        _grid.SetData(e.Row, "ItemName", data[0].Name);
                        _grid.SetData(e.Row, "MeasureCode", data[0].IsMeasureCodeNull() ? "" : data[0].MeasureCode);
                        _grid.SetData(e.Row, "UnitPrice", data[0].IsBasePriceNull() ? 0 : data[0].BasePrice);
                        _grid.SetData(e.Row, "TaxPct", 0);
                        _grid.SetData(e.Row, "TrxType", 0);
                        _grid.SetData(e.Row, "Quantity", 1);
                        // display default remark
                        _grid.SetData(e.Row, "Remarks", c1TextBox2.Text);
                    }
                }
            }

            // update converted credit column value
            if (e.Col == _grid.Cols["Quantity"].SafeIndex)
            {
                if (_grid.GetData(e.Row, "Quantity") != DBNull.Value &&
                    _grid.GetData(e.Row, "Quantity").ToString() != "")
                {
                    //_grid.SetData(e.Row, "ExtendedPrice", (double)_grid.GetData(e.Row, "Quantity") * (double)_grid.GetData(e.Row, "UnitPrice"));
                }
            }

            // Auto counting for kredit each time
            c1Label1.Value = CountDetails();
        }
 public virtual dsCore.ItemsDataTable GetDataDenormalized() {
     this.Adapter.SelectCommand = this.CommandCollection[4];
     dsCore.ItemsDataTable dataTable = new dsCore.ItemsDataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }
 public virtual dsCore.ItemsDataTable GetDataByID(int p1) {
     this.Adapter.SelectCommand = this.CommandCollection[3];
     this.Adapter.SelectCommand.Parameters[0].Value = ((int)(p1));
     dsCore.ItemsDataTable dataTable = new dsCore.ItemsDataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }
 public virtual dsCore.ItemsDataTable GetDataByCode(string p1) {
     this.Adapter.SelectCommand = this.CommandCollection[2];
     if ((p1 == null)) {
         throw new global::System.ArgumentNullException("p1");
     }
     else {
         this.Adapter.SelectCommand.Parameters[0].Value = ((string)(p1));
     }
     dsCore.ItemsDataTable dataTable = new dsCore.ItemsDataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }