/// <summary> /// グリッドビュー行選択時処理 /// </summary> private void GridEnter() { string msgStr; fMode.rowIndex = dg.SelectedRows[0].Index; // 選択確認 msgStr = ""; msgStr += dg[1, fMode.rowIndex].Value.ToString() + ":" + dg[3, fMode.rowIndex].Value.ToString() + Environment.NewLine + Environment.NewLine; msgStr += "上記の" + msName + "が選択されました。よろしいですか?"; if (MessageBox.Show(msgStr, "選択", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No) { return; } // 対象となるデータテーブルROWを取得します ryowaDataSet.M_工事Row sQuery = dts.M_工事.FindByID(int.Parse(dg[0, fMode.rowIndex].Value.ToString())); if (sQuery != null) { // モードステータスを「編集モード」にします fMode.Mode = global.FORM_EDITMODE; // 編集画面に表示 ShowData(sQuery); } else { MessageBox.Show(dg[0, fMode.rowIndex].Value.ToString() + "がキー不在です:データの読み込みに失敗しました", "データ取得エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// ------------------------------------------------------- /// <summary> /// マスターの内容を画面に表示する </summary> /// <param name="sTemp"> /// マスターインスタンス</param> /// ------------------------------------------------------- private void ShowData(ryowaDataSet.M_工事Row s) { fMode.ID = s.ID.ToString(); txtCode.Text = s.ID.ToString(); // 2018/07/19 // 2018/07/19 if (fMode.Mode == global.FORM_EDITMODE) { txtCode.Enabled = false; } txtName.Text = s.称; cmbKbn.SelectedIndex = s.現場区分; cmbKinmuchi.SelectedIndex = s.勤務地区分; txtKinmuchi.Text = s.勤務地名; if (s.Is開始時Null()) { txtSh.Text = string.Empty; } else { txtSh.Text = s.開始時.ToString(); } if (s.Is開始分Null()) { txtSm.Text = string.Empty; } else { txtSm.Text = s.開始分.ToString().PadLeft(2, '0'); } if (s.Is終了時Null()) { txtEh.Text = string.Empty; } else { txtEh.Text = s.終了時.ToString(); } if (s.Is終了分Null()) { txtEm.Text = string.Empty; } else { txtEm.Text = s.終了分.ToString().PadLeft(2, '0'); } linkLabel2.Enabled = true; linkLabel3.Enabled = true; }
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { try { // 確認 if (MessageBox.Show("削除してよろしいですか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { return; } // 削除データ取得(エラー回避のためDataRowState.Deleted と DataRowState.Detachedは除外して抽出する) var d = dts.M_工事.Where(a => a.RowState != DataRowState.Deleted && a.RowState != DataRowState.Detached && a.ID == int.Parse(fMode.ID)); // foreach用の配列を作成する var list = d.ToList(); // 削除 foreach (var it in list) { ryowaDataSet.M_工事Row dl = (ryowaDataSet.M_工事Row)dts.M_工事.Rows.Find(it.ID); dl.Delete(); } } catch (Exception ex) { MessageBox.Show("データの削除に失敗しました" + Environment.NewLine + ex.Message); } finally { // 削除をコミット adp.Update(dts.M_工事); // データテーブルにデータを読み込む adp.Fill(dts.M_工事); // 画面データ消去 DispInitial(); // グリッド表示 GridViewShow(dg); } }