/// <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); } } }
/// <summary> /// 品番検索画面を展開し選択値を設定する /// </summary> /// <param name="row"></param> /// <returns></returns> private bool ShowProductDialogForm(DataRow row) { SCHM09_HIN diaForm = new SCHM09_HIN(); diaForm.TwinTextBox = new Framework.Windows.Controls.UcLabelTwinTextBox(); diaForm.取引区分 = TARGET_TRADING_KBN; diaForm.IsSetItemEnabled = true; if (diaForm.ShowDialog(this) ?? false) { // 選択した品番が既に存在するかチェック if (SearchResult.Select(string.Format("品番コード = {0}", diaForm.TwinTextBox.Text1)).Count() == 0) { row["品番コード"] = diaForm.TwinTextBox.Text1; row["品番名称"] = diaForm.TwinTextBox.Text2; if (!string.IsNullOrEmpty(diaForm.TwinTextBox.Text3)) { row["単価"] = diaForm.TwinTextBox.Text3; } if (string.IsNullOrEmpty(this.GAITHUSAKI.Text1) || string.IsNullOrEmpty(this.GAITHUSAKI.Text2)) { // 得意先が設定されていない場合は得意先を選択させる SCHM01_TOK tokForm = new SCHM01_TOK(); tokForm.TwinTextBox = new Framework.Windows.Controls.UcLabelTwinTextBox(); tokForm.TwinTextBox.LinkItem = "2,3"; // 外注先・相殺 if (tokForm.ShowDialog(this) ?? false) { row["外注先コード"] = tokForm.TwinTextBox.Text1; row["外注先コード枝番"] = tokForm.TwinTextBox.Text2; } else { return(false); } } return(true); } else { MessageBox.Show("選択された品番は既に登録されています", "確認", MessageBoxButton.OK, MessageBoxImage.Information); } } return(false); }
/// <summary> /// F1 リボン マスタ参照 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var tokBox = ViewBaseCommon.FindVisualParent <M01_TOK_TextBox>(elmnt as Control); if (tokBox != null) { // 取引先テキストの場合 tokBox.OpenSearchWindow(this); } else if (isFocusedSupCode) { // 取引先の場合、別テキストに枝番設定の為独自処理 SCHM01_TOK di = new SCHM01_TOK(); di.TwinTextBox = new Framework.Windows.Controls.UcLabelTwinTextBox(); if (di.ShowDialog(this) == true) { this.TORI_CODE.Text = di.TwinTextBox.Text1; this.TORI_EDA.Text = di.TwinTextBox.Text2; SearchSupplierData(int.Parse(取引先コード), int.Parse(枝番)); } } else { // 取引先以外はFW標準で開く ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// 品番検索画面を展開し選択値を設定する /// </summary> /// <param name="row"></param> /// <returns></returns> private bool ShowProductDialogForm(DataRow row) { SCHM09_HIN diaForm = new SCHM09_HIN(); diaForm.TwinTextBox = new Framework.Windows.Controls.UcLabelTwinTextBox(); diaForm.取引区分 = TARGET_TRADING_KBN; diaForm.IsSetItemEnabled = false; if (diaForm.ShowDialog(this) ?? false) { row["品番コード"] = diaForm.TwinTextBox.Text1; row["品番名称"] = diaForm.TwinTextBox.Text2; if (string.IsNullOrEmpty(this.TOKUISAKI.Text1) || string.IsNullOrEmpty(this.TOKUISAKI.Text2)) { // 得意先が設定されていない場合は得意先を選択させる SCHM01_TOK tokForm = new SCHM01_TOK(); tokForm.TwinTextBox = new Framework.Windows.Controls.UcLabelTwinTextBox(); tokForm.TwinTextBox.LinkItem = "0,3"; // 得意先・相殺 if (tokForm.ShowDialog(this) ?? false) { row["得意先コード"] = tokForm.TwinTextBox.Text1; row["枝番"] = tokForm.TwinTextBox.Text2; } else { return(false); } } return(true); } return(false); }
/// <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; } } } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control); var m01Text = ViewBaseCommon.FindVisualParent <M01_TOK_TextBox>(elmnt as Control); if (spgrid != null) { int cIdx = spgrid.ActiveColumnIndex; int rIdx = spgrid.ActiveRowIndex; // 対象セルがロックされている場合は処理しない if (spgrid.Cells[rIdx, cIdx].Locked == true) { return; } #region グリッドファンクションイベント switch (spgrid.ActiveColumnIndex) { case (int)GridColumnsMapping.取引先コード: case (int)GridColumnsMapping.枝番: // 入力値を取得 string code = getSpreadGridValue(rIdx, GridColumnsMapping.取引先コード).ToString(), eda = getSpreadGridValue(rIdx, GridColumnsMapping.枝番).ToString(); SCHM01_TOK tok = new SCHM01_TOK(); tok.TwinTextBox = new UcLabelTwinTextBox(); tok.TwinTextBox.Text1 = code; tok.TwinTextBox.Text2 = eda; tok.TwinTextBox.LinkItem = "2,3"; if (tok.ShowDialog(this) == true) { setSpreadGridValue(rIdx, GridColumnsMapping.取引先コード, tok.TwinTextBox.Text1); setSpreadGridValue(rIdx, GridColumnsMapping.スプリッタ, '-'); setSpreadGridValue(rIdx, GridColumnsMapping.枝番, tok.TwinTextBox.Text2); setSpreadGridValue(rIdx, GridColumnsMapping.得意先名, tok.TwinTextBox.Text3); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.自社品番); } break; case (int)GridColumnsMapping.自社品番: SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.chkItemClass_2.IsChecked = false; myhin.chkItemClass_2.cIsEnabled = false; myhin.chkItemClass_3.IsChecked = false; myhin.chkItemClass_3.cIsEnabled = false; myhin.chkItemClass_4.IsChecked = false; myhin.chkItemClass_4.cIsEnabled = false; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = "1"; if (myhin.ShowDialog(this) == true) { setSpreadGridValue(rIdx, GridColumnsMapping.品番コード, myhin.SelectedRowData["品番コード"]); setSpreadGridValue(rIdx, GridColumnsMapping.自社品番, myhin.SelectedRowData["自社品番"]); setSpreadGridValue(rIdx, GridColumnsMapping.自社品名, myhin.SelectedRowData["自社品名"]); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.依頼数); } break; default: break; } SearchResult.Rows[rIdx].EndEdit(); #endregion } else if (m01Text != null) { m01Text.OpenSearchWindow(this); } else { //ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); int[] disabledItemTypes = new[] { 2, 4 }; // No.362 Mod SCHM09_MYHIN myhin = new SCHM09_MYHIN(disabledItemTypes); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.Text1 = ProductCode.Text1; myhin.TwinTextBox.LinkItem = ProductCode.LinkItem; if (myhin.ShowDialog(this) == true) { ProductCode.Text1 = myhin.TwinTextBox.Text1; ProductCode.Text2 = myhin.TwinTextBox.Text2; } } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }