/// <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="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; } }
/// <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; } } } }