예제 #1
0
파일: FormOsPayment.cs 프로젝트: kyas21/FTB
        /// <summary>
        /// 現在保存している外注出来高データをDBから読取り表示する
        /// </summary>
        /// <param name="reportDate"></param>
        /// <param name="costCode"></param>
        /// <param name="officeCode"></param>
        /// <param name="department"></param>
        private void selectPaymentData(DataGridView dgv, DateTime reportDate, string officeCode, string department)
        {
            readyPro    = true;
            dgv.Enabled = true;
            dgv.Rows.Clear();
            dgv.Rows.Add(iniRCnt);

            opd = new OsPaymentData();

            DataTable dt = opd.SelectPayment(reportDate.EndOfMonth(), officeCode, department);

            if (dt == null || dt.Rows.Count < 1)
            {
                labelMsg.Text = "表示できるデータはありません。";
                seqNoReNumbering(dgv);
                this.dataGridView1.CurrentCell = null;
                readyPro = false;
                return;
            }
            labelMsg.Text = "";
            if (dt.Rows.Count > iniRCnt)
            {
                dgv.Rows.Add(dt.Rows.Count - iniRCnt + 5);
            }

            TaskData       tdp = new TaskData();
            ListFormDataOp lo  = new ListFormDataOp();
            DataRow        dr;
            string         taskCode;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dr = dt.Rows[i];
                if (i == 0)
                {
                    string[] ckItems = new string[] { "AdminCheck", "DirectorCheck", "PresidentCheck" };
                    string[] dtItems = new string[] { "ACheckDate", "DCheckDate", "PCheckDate" };
                    for (int j = 0; j < ckItems.Length; j++)
                    {
                        int checkStat = Convert.ToInt32(dr[ckItems[j]]);
                        ckArray[j].Checked = (checkStat == 1) ? true : false;
                        dtArray[j]         = (checkStat == 1) ? Convert.ToDateTime(dr[dtItems[j]]) : DateTime.MinValue;
                        lbArray[j].Text    = (checkStat == 1) ? dtArray[j].ToLongDateString() : "";
                    }

                    if (ckArray[2].Checked)
                    {
                        buttonDisEnabled();
                    }
                    else if (ckArray[1].Checked)
                    {
                        buttonDisEnabled();
                        buttonCost.Enabled = true;
                    }
                    else if (ckArray[0].Checked)
                    {
                        buttonEnabled();
                        buttonCost.Enabled = false;
                    }
                }

                dgv.Rows[i].Cells["ItemCode"].Value = Convert.ToString(dr["ItemCode"]);
                dgv.Rows[i].Cells["Item"].Value     = Convert.ToString(dr["Item"]);
                dgv.Rows[i].Cells["OrderNo"].Value  = Convert.ToString(dr["OrderNo"]);
                taskCode = Convert.ToString(dr["TaskCode"]);
                dgv.Rows[i].Cells["TaskCode"].Value = taskCode;
                if (Convert.ToString(dr["OrderAmount"]) == "" || Convert.ToString(dr["OrderAmount"]) == "0.00")
                {
                    dgv.Rows[i].Cells["OAmount"].Value =
                        opd.SelectOAmountPayment(Convert.ToString(dr["ItemCode"]), taskCode, Conv.OfficeCode, Conv.DepartCode, dateTimePickerEx1.Value);
                }
                else
                {
                    dgv.Rows[i].Cells["OAmount"].Value = Convert.ToDecimal(dr["OrderAmount"]);
                }
                dgv.Rows[i].Cells["SAmount"].Value =
                    opd.SelectSumAmountPayment(Convert.ToString(dr["ItemCode"]), taskCode, Conv.OfficeCode, Conv.DepartCode, dateTimePickerEx1.Value);
                dgv.Rows[i].Cells["Amount"].Value = Convert.ToDecimal(dr["Amount"]);
                calculateInvolvedItems(dgv.Rows[i]);

                dgv.Rows[i].Cells["LeaderMCode"].Value  = Convert.ToString(dr["LeaderMCode"]);
                dgv.Rows[i].Cells["SlipNo"].Value       = Convert.ToInt32(dr["SlipNo"]) == 0 ? "" : Convert.ToString(dr["SlipNo"]);
                dgv.Rows[i].Cells["CostReportID"].Value = Convert.ToInt32(dr["CostReportID"]) == 0 ? "" : Convert.ToString(dr["CostReportID"]);

                dgv.Rows[i].Cells["PaymentID"].Value = Convert.ToString(dr["OsPaymentID"]);
                dgv.Rows[i].Cells["Check"].Value     = false;


                TaskCodeNameData tcnd = lo.SelectTaskCodeNameData(taskCode, Conv.OfficeCode);
                if (tcnd != null)
                {
                    dgv.Rows[i].Cells["TaskName"].Value = tcnd.TaskName;

                    tdp = tdp.SelectTaskData(taskCode);
                    dgv.Rows[i].Cells["SalesMCode"].Value  = "0" + tdp.SalesMCode;
                    dgv.Rows[i].Cells["PartnerCode"].Value = tdp.PartnerCode;
                }
            }
            seqNoReNumbering(dgv);
            this.dataGridView1.CurrentCell = null;

            readyPro = false;
        }
예제 #2
0
파일: FormOsPayment.cs 프로젝트: kyas21/FTB
        // [Ctrl]と組み合わせたDataGridViewの操作用Short-Cut Key
        // 前提:コントロールがDataGridViewにある時
        private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (iniPro)
            {
                return;
            }
            if (!this.dataGridView1.Focused)
            {
                return;
            }

            DataGridView dgv = ( DataGridView )sender;

            if (dgv.CurrentCellAddress.Y < 0)
            {
                return;
            }

            if (ckArray[0].Checked)
            {
                return;                             // 確認済なら入力不可とする
            }
            switch (e.KeyCode)
            {
            case Keys.Right:
            case Keys.Tab:
                break;

            case Keys.Left:
                break;

            default:
                break;
            }


            if ((e.Modifiers & Keys.Control) != Keys.Control)
            {
                return;                                                    // Ctrlキーが押下された時のみ以下処理
            }
            switch (e.KeyCode)
            {
            case Keys.A:
                if (dgv.CurrentCellAddress.X == 2 || dgv.CurrentCellAddress.X == 3)
                {
                    chooseCostData(dgv.Rows[dgv.CurrentCellAddress.Y]);
                    dgv.CurrentCell = dgv[5, dgv.CurrentCellAddress.Y];
                    return;
                }
                if (dgv.CurrentCellAddress.X == 5 || dgv.CurrentCellAddress.X == 6)
                {
                    chooseTaskCodeNameData(dgv.Rows[dgv.CurrentCellAddress.Y]);

                    dgv.Rows[dgv.CurrentCellAddress.Y].Cells["OAmount"].Value =
                        opd.SelectOAmountPayment(Convert.ToString(dgv.Rows[dgv.CurrentCellAddress.Y].Cells["ItemCode"].Value),
                                                 Convert.ToString(dgv.Rows[dgv.CurrentCellAddress.Y].Cells["TaskCode"].Value),
                                                 Conv.OfficeCode, Conv.DepartCode, dateTimePickerEx1.Value);

                    dgv.Rows[dgv.CurrentCellAddress.Y].Cells["SAmount"].Value =
                        opd.SelectSumAmountPayment(Convert.ToString(dgv.Rows[dgv.CurrentCellAddress.Y].Cells["ItemCode"].Value),
                                                   Convert.ToString(dgv.Rows[dgv.CurrentCellAddress.Y].Cells["TaskCode"].Value),
                                                   Conv.OfficeCode, Conv.DepartCode, dateTimePickerEx1.Value);

                    dgv.CurrentCell = dgv[9, dgv.CurrentCellAddress.Y];
                    return;
                }
                break;

            case Keys.C:
                Clipboard.SetDataObject(dgv.GetClipboardContent());
                break;

            case Keys.I:
            case Keys.D:
                seqNoReNumbering(dgv);
                break;

            case Keys.R:
                break;

            default:
                break;
            }
        }