Esempio n. 1
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcSpredGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid = sender as GcSpreadGrid;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            switch (e.CellPosition.ColumnName)
            {
            case "金種コード":
                var target = getSpreadGridValue(e.CellPosition.Row, GridColumnsMapping.金種コード);
                if (target == null)
                {
                    return;
                }

                int val = int.Parse(target.ToString());
                setSpreadGridValue(e.CellPosition.Row, GridColumnsMapping.金種名, 金種Dic.ContainsKey(val) ? 金種Dic[val] : string.Empty);
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        // スプレッドCell変更前値
        private void sp取引先_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            //var row = sp取引先一括データ.ActiveRowIndex;
            //var col = sp取引先一括データ.ActiveColumnIndex;
            //this.sp取引先一括データ.ActiveCellPosition = new CellPosition(20, col);

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            DataRow BeforeNum = 取引先一括期首残データ.Rows[e.CellPosition.Row];

            if (Convert.ToDecimal(BeforeNum[e.CellPosition.ColumnName, DataRowVersion.Original]) != Convert.ToDecimal(this.sp取引先一括データ.ActiveCell.Value))
            {
                this.sp取引先一括データ.Cells[e.CellPosition.Row, 1].Foreground = new SolidColorBrush(Colors.Red);
                取引先一括期首残データ.Rows[e.CellPosition.Row][e.CellPosition.ColumnName + "EditFlg"] = true;
            }
            else
            {
                取引先一括期首残データ.Rows[e.CellPosition.Row][e.CellPosition.ColumnName + "EditFlg"] = false;
            }

            // 全ての値が元に戻った場合、文字色を元に戻す
            if (!Convert.ToBoolean(取引先一括期首残データ.Rows[e.CellPosition.Row]["T締日期首残EditFlg"]) &&
                !Convert.ToBoolean(取引先一括期首残データ.Rows[e.CellPosition.Row]["T月次期首残EditFlg"]) &&
                !Convert.ToBoolean(取引先一括期首残データ.Rows[e.CellPosition.Row]["S締日期首残EditFlg"]) &&
                !Convert.ToBoolean(取引先一括期首残データ.Rows[e.CellPosition.Row]["S月次期首残EditFlg"]))
            {
                this.sp取引先一括データ.Cells[e.CellPosition.Row, 1].Foreground = new SolidColorBrush(Colors.Black);
            }
            // 合計計算
            SumCalculation();
        }
Esempio n. 3
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcSpredGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid = sender as GcSpreadGrid;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            //明細行が存在しない場合は処理しない
            if (SearchDetail == null)
            {
                return;
            }
            if (SearchDetail.Select("", "", DataViewRowState.CurrentRows).Count() == 0)
            {
                return;
            }

            _編集行 = e.CellPosition.Row;

            try
            {
                switch (e.CellPosition.ColumnName)
                {
                case "自社品番":
                    var target = grid.Cells[e.CellPosition.Row, e.CellPosition.Column].Value;
                    if (target == null)
                    {
                        return;
                    }

                    // 自社品番(または得意先品番)からデータを参照し、取得内容をグリッドに設定
                    base.SendRequest(
                        new CommunicationObject(
                            MessageType.RequestData,
                            MasterCode_MyProduct,
                            new object[] {
                        target.ToString()
                        , null
                        , null
                    }));
                    break;

                default:
                    break;
                }

                SearchDetail.Rows[grid.ActiveRowIndex].EndEdit();               // No-160 Add
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Esempio n. 4
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcInnerSpreadGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid         = sender as GcSpreadGrid;
            string       targetColumn = grid.ActiveCellPosition.ColumnName;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            //明細行が存在しない場合は処理しない
            if (InnerDetail == null)
            {
                return;
            }
            if (InnerDetail.Select("", "", DataViewRowState.CurrentRows).Count() == 0)
            {
                return;
            }

            _編集行 = e.CellPosition.Row;

            switch (targetColumn)
            {
            case "自社品番":
                var target = gridDtb.GetCellValueToString();
                if (string.IsNullOrEmpty(target))
                {
                    return;
                }

                // 自社品番からデータを参照し、取得内容をグリッドに設定
                base.SendRequest(
                    new CommunicationObject(
                        MessageType.RequestData,
                        MasterCode_MyProduct,
                        new object[] {
                    target.ToString()
                    , string.Empty,
                    string.Empty
                }));
                break;

            case "数量":
            case "賞味期限":

                InnerDetail.Rows[gridDtl.ActiveRowIndex].EndEdit();

                break;

            default:
                break;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcSpreadGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid         = sender as GcSpreadGrid;
            string       targetColumn = grid.ActiveCellPosition.ColumnName;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            int rIdx = gcSpreadGrid.ActiveRowIndex;

            switch (targetColumn)
            {
            case "自社品番":
                var 自社品番 = getSpreadGridValue(rIdx, GridColumnsMapping.自社品番);
                var 自社色  = getSpreadGridValue(rIdx, GridColumnsMapping.自社色);

                if (自社品番 == null || 自社色 == null)
                {
                    return;
                }

                // 品番未入力時には処理しない
                if (string.IsNullOrEmpty(自社品番.ToString()))
                {
                    // 行データをクリア
                    ClearRowItems(rIdx);
                    return;
                }

                // 自社品番からデータを参照し、取得内容をグリッドに設定
                base.SendRequest(
                    new CommunicationObject(
                        MessageType.RequestData,
                        MasterCode_MyProduct,
                        new object[] {
                    自社品番.ToString(),
                    自社色.ToString()
                }));
                break;

            case "数量":
                // 在庫数不足チェック

                break;

            default:
                break;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcSpredGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid = sender as GcSpreadGrid;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            //明細行が存在しない場合は処理しない
            if (SearchDetail == null)
            {
                return;
            }
            if (SearchDetail.Select("", "", DataViewRowState.CurrentRows).Count() == 0)
            {
                return;
            }

            switch (e.CellPosition.ColumnName)
            {
            case "単価":
            case "数量":
                // 金額の再計算
                Row     targetRow = grid.Rows[grid.ActiveRowIndex];
                decimal cost      = decimal.Parse(targetRow.Cells[GridColumnsMapping.単価.GetHashCode()].Value.ToString());
                decimal qty       = decimal.Parse(targetRow.Cells[GridColumnsMapping.数量.GetHashCode()].Value.ToString());

                targetRow.Cells[GridColumnsMapping.金額.GetHashCode()].Value = Convert.ToInt32(decimal.Multiply(cost, qty));

                // グリッド内容の再計算を実施
                summaryCalculation();

                SearchDetail.Rows[targetRow.Index].EndEdit();

                break;

            default:

                //▼課題管理表No173-4 Add Start Arinobu 2019/10/10
                if (gridCtl.ActiveRowIndex >= 0)
                {
                    // EndEditが行われずに登録すると変更内容が反映されないため処理追加
                    SearchDetail.Rows[gridCtl.ActiveRowIndex].EndEdit();
                }
                //▲課題管理表No173-4 Add Start Arinobu 2019/10/10
                break;
            }
        }
Esempio n. 7
0
        private void sp一括_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }
            string nm = e.CellPosition.ColumnName;

            DataRow BeforeNum = 一括車輌固定費データ.Rows[e.CellPosition.Row];

            if (Convert.ToDecimal(BeforeNum[nm, DataRowVersion.Original]) != Convert.ToDecimal(this.sp車輌一括データ.ActiveCell.Value))
            {
                this.sp車輌一括データ.Cells[e.CellPosition.Row, 1].Foreground = new SolidColorBrush(Colors.Red);
            }

            // 全ての値が元に戻った場合、文字色を元に戻す
            int DispFlg = 0;

            for (int Cnt = 0; Cnt < BeforeNum.ItemArray.Length; Cnt++)
            {
                string ColName = "d" + BeforeNum.Table.Columns[Cnt].ColumnName;
                switch (BeforeNum.Table.Columns[Cnt].ColumnName)
                {
                case "固定自動車税":
                case "固定重量税":
                case "固定取得税":
                case "固定自賠責保険":
                case "固定車輌保険":
                case "固定対人保険":
                case "固定対物保険":
                case "固定貨物保険":
                    if (Convert.ToDecimal(BeforeNum[Cnt, DataRowVersion.Original]) == Convert.ToDecimal(this.sp車輌一括データ.Cells[e.CellPosition.Row, ColName].Value))
                    {
                        DispFlg += 1;
                    }
                    break;

                default:
                    break;
                }
            }

            if (DispFlg == 8)
            {
                this.sp車輌一括データ.Cells[e.CellPosition.Row, 1].Foreground = new SolidColorBrush(Colors.Black);
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Spread内容変更時
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcspNyukin_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            string _originalText = null;

            Calculate();
            AppCommon.SpreadYMDCellChecks(sender, e, _originalText);
            #region SpreadFChange
            var grid = sender as GcSpreadGrid;
            if (e.CellPosition.ColumnName == "摘要ID" && grid.Cells[e.CellPosition.Row, e.CellPosition.Column].Value != "")
            {
                var text = grid.Cells[e.CellPosition.Row, e.CellPosition.Column].Text;
                if (string.IsNullOrWhiteSpace(text) == true)
                {
                    return;
                }

                int kid = AppCommon.IntParse(text);
                grid.Cells[e.CellPosition.Row, "摘要ID"].Value = kid;
                base.SendRequest(new CommunicationObject(MessageType.RequestData, GetTekiyoName, kid, e.CellPosition.Row));
            }
            #endregion
        }
Esempio n. 9
0
        // スプレッドCell変更前値
        private void sp削除取引先_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            DataRow BeforeNum = 削除取引先データ.Rows[e.CellPosition.Row];

            if (BeforeNum[e.CellPosition.ColumnName, DataRowVersion.Original] != this.sp削除取引先データ.ActiveCell.Value)
            {
                this.sp削除取引先データ.Cells[e.CellPosition.Row, "取引先名1"].Foreground = new SolidColorBrush(Colors.Blue);
                this.sp削除取引先データ.Cells[e.CellPosition.Row, "取引先名2"].Foreground = new SolidColorBrush(Colors.Blue);
            }
            else
            {
                this.sp削除取引先データ.Cells[e.CellPosition.Row, "取引先名1"].Foreground = new SolidColorBrush(Colors.Black);
                this.sp削除取引先データ.Cells[e.CellPosition.Row, "取引先名2"].Foreground = new SolidColorBrush(Colors.Black);
            }

            AppCommon.FixSpreadActiveCell(sp削除取引先データ);
        }
Esempio n. 10
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SearchGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid         = sender as GcSpreadGrid;
            string       targetColumn = grid.ActiveCellPosition.ColumnName;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            switch (targetColumn)
            {
            case "単価":
            case "数量":
                // 金額の再計算
                decimal cost = gridCtl.GetCellValueToDecimal((int)GridColumnsMapping.単価) ?? 0;
                decimal qty  = gridCtl.GetCellValueToDecimal((int)GridColumnsMapping.数量) ?? 0;

                gridCtl.SetCellValue((int)GridColumnsMapping.金額, Convert.ToInt32(decimal.Multiply(cost, qty)));

                // グリッド内容の再計算を実施
                summaryCalculation();

                SearchDetail.Rows[gridCtl.ActiveRowIndex].EndEdit();

                break;

            //▼課題管理表No173-3 Add Start Arinobu 2019/10/10
            default:
                if (gridCtl.ActiveRowIndex >= 0)
                {
                    // EndEditが行われずに登録すると変更内容が反映されないため処理追加
                    SearchDetail.Rows[gridCtl.ActiveRowIndex].EndEdit();
                }
                break;
                //▲課題管理表No173-3 Add End Arinobu 2019/10/10
            }
        }
Esempio n. 11
0
        private void gcSpreadGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            int col;
            int row;

            int 重量;
            int 距離;
            int 運賃;
            int iタリフID = 0;

            if (!int.TryParse(タリフID, out iタリフID))
            {
                this.ErrorMessage = "タリフIDの入力形式が不正です。";
                return;
            }

            col = gcSpreadGrid.ActiveColumnIndex;
            row = gcSpreadGrid.ActiveRowIndex;

            距離 = Convert.ToInt32(gcSpreadGrid[row, 0].Value);
            重量 = Convert.ToInt32(gcSpreadGrid[row, 1].Value);
            運賃 = Convert.ToInt32(gcSpreadGrid[row, 2].Value);
            base.SendRequest(new CommunicationObject(MessageType.UpdateData, TargetTableNmUpdate, new object[] { iタリフID, 距離, 重量, 運賃 }));
        }
Esempio n. 12
0
        /// <summary>
        /// SPREAD セル編集がコミットされた時の処理(手入力) CellEditEnadedイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gcSpredGrid_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            GcSpreadGrid grid            = sender as GcSpreadGrid;
            int          targetColumnIdx = grid.ActiveColumnIndex;
            int          targetRowIndex  = grid.ActiveRowIndex;

            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            switch (targetColumnIdx)
            {
            case (int)GridColumnsMapping.取引先コード:
            case (int)GridColumnsMapping.枝番:
                string code = getSpreadGridValue(targetRowIndex, GridColumnsMapping.取引先コード).ToString();
                string eda  = getSpreadGridValue(targetRowIndex, GridColumnsMapping.枝番).ToString();

                if (string.IsNullOrEmpty(code) || string.IsNullOrEmpty(eda))
                {
                    setSpreadGridValue(targetRowIndex, GridColumnsMapping.得意先名, string.Empty);
                    return;
                }

                // 入力内容から取引先マスタを参照
                base.SendRequest(
                    new CommunicationObject(
                        MessageType.RequestData,
                        MasterCode_Supplier,
                        new object[] {
                    this.Subcontractor.DataAccessName,
                    code,
                    eda,
                    this.Subcontractor.LinkItem
                }));
                break;

            case (int)GridColumnsMapping.自社品番:
            case (int)GridColumnsMapping.色コード:
                string productCode = getSpreadGridValue(targetRowIndex, GridColumnsMapping.自社品番).ToString();

                if (string.IsNullOrEmpty(productCode))
                {
                    return;
                }

                // 自社品番から品番マスタを参照
                base.SendRequest(
                    new CommunicationObject(
                        MessageType.RequestData,
                        MasterCode_MyProductSet,
                        new object[] {
                    productCode
                }));
                break;

            case (int)GridColumnsMapping.依頼日:
            case (int)GridColumnsMapping.依頼数:
            case (int)GridColumnsMapping.仕上数:
                DataRow row = SearchResult.Rows[targetRowIndex];
                if (row.RowState == DataRowState.Unchanged)
                {
                    if (row.HasVersion(DataRowVersion.Original))
                    {
                        // Remarks:テーブル列とグリッド列の並びが違うので加算して合わせる
                        var org = row[targetColumnIdx + 1, DataRowVersion.Original];
                        var val = row[targetColumnIdx + 1];

                        if (org.ToString() != val.ToString())
                        {
                            row.SetModified();
                            row[targetColumnIdx + 1] = val;
                        }
                    }
                }

                break;

            default:
                break;
            }
        }
Esempio n. 13
0
        private void sp請求データ一覧_CellEditEnded(object sender, SpreadCellEditEndedEventArgs e)
        {
            if (e.EditAction == SpreadEditAction.Cancel)
            {
                return;
            }

            var gcsp = (sender as GcSpreadGrid);

            if (gcsp == null)
            {
                return;
            }

            try
            {
                string cname = e.CellPosition.ColumnName;
                string ctext = sp請求データ一覧.Cells[e.CellPosition.Row, e.CellPosition.Column].Text;
                ctext = ctext == null ? string.Empty : ctext;
                if (cname == CellName && ctext == CellText)
                {
                    // セルの値が変化していなければ何もしない
                    return;
                }

                var    row = gcsp.Rows[e.CellPosition.Row];
                object val = row.Cells[e.CellPosition.Column].Value;
                val = val == null ? "" : val;
                if (cname.Contains("開始日付") == true)
                {
                    AppCommon.SpreadYMDCellCheck(sender, e, this._originalText);

                    //cname = cname.Replace("年月日", "日付");

                    DateTime dt;
                    if (DateTime.TryParse(row.Cells[e.CellPosition.Column].Text, out dt) == true)
                    {
                        val = dt;
                    }
                    else
                    {
                        this.ErrorMessage = "正しい日付を入力してください。";
                        return;
                    }
                }
                if (cname.Contains("終了日付") == true)
                {
                    AppCommon.SpreadYMDCellCheck(sender, e, this._originalText);

                    //cname = cname.Replace("年月日", "日付");

                    DateTime dt;
                    if (DateTime.TryParse(row.Cells[e.CellPosition.Column].Text, out dt) == true)
                    {
                        val = dt;
                    }
                    else
                    {
                        this.ErrorMessage = "正しい日付を入力してください。";
                        return;
                    }
                }
            }
            //catch (Exception ex)
            catch
            {
                this.ErrorMessage = "入力内容が不正です。";
            }
        }
Esempio n. 14
0
 //SpreadでEnterを押下した時
 private void KOUSHIN_KeyDown(object sender, SpreadCellEditEndedEventArgs e)
 {
     Keisan();
 }