예제 #1
0
        /// <summary>
        /// 行の追加処理をおこなう
        /// </summary>
        private void addDataGridRow()
        {
            if (SearchResult == null)
            {
                return;
            }

            // グリッドにフォーカスを設定
            SearchGrid.Focus();

            DataRow row = SearchResult.NewRow();

            if (!string.IsNullOrEmpty(this.TOKUISAKI.Text1))
            {
                // 得意先で検索されている場合
                row["得意先コード"] = this.TOKUISAKI.Text1;
                row["枝番"]     = this.TOKUISAKI.Text2;
                row["得意先名1"]  = this.TOKUISAKI.Label2Text;
            }

            row["論理削除"] = false;

            if (SendFormId == (int)SEND_FORM.取引先マスタ || SendFormId == (int)SEND_FORM.メニュー)
            {
                // 品番検索を開く
                if (ShowProductDialogForm(row))
                {
                    SearchResult.Rows.Add(row);

                    // 行追加後は追加行を選択させる
                    int insIdx = SearchResult.Rows.Count - 1;
                    SetCurrentCell(SearchGrid, insIdx, 2);
                }
            }
            else if (SendFormId == (int)SEND_FORM.品番マスタ)
            {
                SCHM01_TOK tokForm = new SCHM01_TOK();
                tokForm.TwinTextBox          = new Framework.Windows.Controls.UcLabelTwinTextBox();
                tokForm.TwinTextBox.LinkItem = "0,3";   // 得意先・相殺

                if (tokForm.ShowDialog(this) ?? false)
                {
                    row["品番コード"]  = ProductNumber;
                    row["品番名称"]   = this.HINBAN.Text2;
                    row["得意先コード"] = tokForm.TwinTextBox.Text1;
                    row["枝番"]     = tokForm.TwinTextBox.Text2;
                    row["得意先名1"]  = tokForm.TwinTextBox.Text3;

                    SearchResult.Rows.Add(row);

                    // 行追加後は追加行を選択させる
                    int insIdx = SearchResult.Rows.Count - 1;
                    SetCurrentCell(SearchGrid, insIdx, 2);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            var       data = message.GetResultData();
            DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

            switch (message.GetMessageName())
            {
            case TargetTableNm:
                SearchResult = tbl;

                // 品番コード指定がある場合は該当品番を選択状態にする
                if (productCode < 0)
                {
                    SearchGrid.SelectedIndex = 0;
                }

                else
                {
                    // ①該当品番コードが検索結果にあるか
                    if (tbl.Select(string.Format("品番コード = {0}", productCode)).Count() > 0)
                    {
                        // ②存在する場合行インデックスを取得
                        var index =
                            tbl.Rows.IndexOf(
                                tbl.AsEnumerable()
                                .Where(a => a.Field <int>("品番コード") == productCode)
                                .FirstOrDefault());

                        SearchGrid.SelectedIndex = index;
                        SearchGrid.Focus();
                    }
                }
                break;


            default:
                break;
            }
        }
예제 #3
0
        /// <summary>
        /// 行の追加処理をおこなう
        /// </summary>
        private void addDataGridRow()
        {
            if (SearchResult == null)
            {
                return;
            }

            // グリッドにフォーカスを設定
            SearchGrid.Focus();

            DataRow row = SearchResult.NewRow();

            row["論理削除"] = false;
            if (!string.IsNullOrEmpty(this.GAITHUSAKI.Text1))
            {
                // 外注先で検索されている場合
                row["外注先コード"]   = this.GAITHUSAKI.Text1;
                row["外注先コード枝番"] = this.GAITHUSAKI.Text2;
                row["外注先略称名"]   = this.GAITHUSAKI.Label2Text;      // No-379 Mod


                // 品番検索を開く
                if (ShowProductDialogForm(row))
                {
                    SearchResult.Rows.Add(row);

                    // 行追加後は追加行を選択させる
                    int insIdx = SearchResult.Rows.Count - 1;
                    SetCurrentCell(SearchGrid, insIdx, 2);
                }
            }

            if (!string.IsNullOrEmpty(this.HINBAN.Text1))
            {
                // 品番で検索されている場合
                row["品番コード"] = this.HinbanCode;
                row["品番名称"]  = this.HINBAN.Text2;

                // 仕入先が設定されていない場合は得意先を選択させる
                SCHM01_TOK tokForm = new SCHM01_TOK();
                tokForm.TwinTextBox          = new Framework.Windows.Controls.UcLabelTwinTextBox();
                tokForm.TwinTextBox.LinkItem = "2,3";   // 外注先・相殺

                if (tokForm.ShowDialog(this) ?? false)
                {
                    // 選択した品番が既に存在するかチェック
                    if (SearchResult.Select(string.Format("外注先コード = {0} AND 外注先コード枝番 = {1}", tokForm.TwinTextBox.Text1, tokForm.TwinTextBox.Text2)).Count() == 0)
                    {
                        row["外注先コード"]   = tokForm.TwinTextBox.Text1;
                        row["外注先コード枝番"] = tokForm.TwinTextBox.Text2;
                        row["外注先略称名"]   = tokForm.TwinTextBox.Text3;      // No-379 Mod

                        SearchResult.Rows.Add(row);

                        // 行追加後は追加行を選択させる
                        int insIdx = SearchResult.Rows.Count - 1;
                        SetCurrentCell(SearchGrid, insIdx, 2);
                    }
                    else
                    {
                        MessageBox.Show("選択された外注先は既に登録されています", "確認", MessageBoxButton.OK, MessageBoxImage.Information);
                        return;
                    }
                }
            }
        }