protected override void ShowItemInGridViewRow(DataGridViewRow row, object item)
        {
            ExpenditureRecord info = item as ExpenditureRecord;

            row.Tag = info;
            row.Cells["colID"].Value          = info.ID;
            row.Cells["colSheetDate"].Value   = info.SheetDate.ToString("yyyy-MM-dd");
            row.Cells["colPaymentMode"].Value = PaymentModeDescription.GetDescription(info.PaymentMode);
            row.Cells["colAmount"].Value      = info.Amount;
            ExpenditureType et = categoryTree.GetExpenditureType(info.Category);

            row.Cells["colCategory"].Value = et != null ? et.Name : string.Empty;
            row.Cells["colCheckNum"].Value = info.CheckNum;
            row.Cells["colRequest"].Value  = info.Request;
            row.Cells["colPayee"].Value    = info.Payee;
            row.Cells["colOrderID"].Value  = info.OrderID;
            row.Cells["colState"].Value    = SheetStateDescription.GetDescription(info.State);
            row.Cells["colMemo"].Value     = info.Memo;
            if (info.State == SheetState.Canceled)
            {
                row.DefaultCellStyle.ForeColor = Color.Red;
                row.DefaultCellStyle.Font      = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Strikeout, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            }
            if (_Sheets == null || !_Sheets.Exists(it => it.ID == info.ID))
            {
                if (_Sheets == null)
                {
                    _Sheets = new List <ExpenditureRecord>();
                }
                _Sheets.Add(info);
            }
        }
        private void mnu_AttachmentAdd_Click(object sender, EventArgs e)
        {
            ExpenditureRecord item = UpdatingItem as ExpenditureRecord;

            if (item != null)
            {
                PerformAddAttach(item.ID, item.DocumentType, gridAttachment);
            }
        }
        protected override object GetItemFromInput()
        {
            ExpenditureRecord info = null;

            if (UpdatingItem == null)
            {
                info = new ExpenditureRecord();
                if (txtSheetNo.Text == _AutoCreate)
                {
                    txtSheetNo.Text = string.Empty;
                }
            }
            else
            {
                info = UpdatingItem as ExpenditureRecord;
            }
            if (rdTransfer.Checked)
            {
                info.PaymentMode = PaymentMode.Transfer;
            }
            if (rdCheck.Checked)
            {
                info.PaymentMode = PaymentMode.Check;
            }
            if (rdCash.Checked)
            {
                info.PaymentMode = PaymentMode.Cash;
            }
            info.Amount    = txtAmount.DecimalValue;
            info.SheetDate = dtSheetDate.Value;
            info.Category  = Category != null ? Category.ID : null;
            info.CheckNum  = txtCheckNum.Text;
            info.Request   = Requster != null ? Requster.Name : string.Empty;
            info.Memo      = txtMemo.Text;
            return(info);
        }
        protected override void ItemShowing()
        {
            ExpenditureRecord item = UpdatingItem as ExpenditureRecord;

            if (item != null)
            {
                txtSheetNo.Text        = item.ID;
                rdTransfer.Checked     = (item.PaymentMode == PaymentMode.Transfer);
                rdCash.Checked         = item.PaymentMode == PaymentMode.Cash;
                rdCheck.Checked        = item.PaymentMode == PaymentMode.Check;
                txtAmount.DecimalValue = item.Amount;
                dtSheetDate.Value      = item.SheetDate;
                if (!string.IsNullOrEmpty(item.Category))
                {
                    Category = (new ExpenditureTypeBLL(AppSettings.Current.ConnStr)).GetByID(item.Category).QueryObject;
                }
                txtCategory.Text = Category != null ? Category.Name : string.Empty;
                txtCheckNum.Text = item.CheckNum;
                txtRequest.Text  = item.Request;
                txtMemo.Text     = item.Memo;
                ShowOperations(item.ID, item.DocumentType, dataGridView1);
                ShowAttachmentHeaders(item.ID, item.DocumentType, this.gridAttachment);
            }
        }