/// <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を取得します MTYSDataSet.出勤形態Row sQuery = dts.出勤形態.FindByID(int.Parse(dg[0, fMode.rowIndex].Value.ToString())); if (sQuery != null) { // 編集画面に表示 ShowData(sQuery); // モードステータスを「編集モード」にします fMode.Mode = global.FORM_EDITMODE; } else { MessageBox.Show(dg[0, fMode.rowIndex].Value.ToString() + "がキー不在です:データの読み込みに失敗しました", "データ取得エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// ------------------------------------------------------- /// <summary> /// マスターの内容を画面に表示する </summary> /// <param name="sTemp"> /// マスターインスタンス</param> /// ------------------------------------------------------- private void ShowData(MTYSDataSet.出勤形態Row s) { fMode.ID = s.ID.ToString(); txtCode.Enabled = false; txtCode.Text = s.コード.ToString(); cmbKbn.SelectedValue = s.帳票区分; txtName.Text = s.称; txtMemo.Text = s.備考; btnDel.Enabled = true; btnClear.Enabled = true; }
private void btnDel_Click(object sender, EventArgs e) { try { // 確認 if (MessageBox.Show("削除してよろしいですか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { return; } // 削除データ取得(エラー回避のためDataRowState.Deleted と DataRowState.Detachedは除外して抽出する) var d = dts.出勤形態.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) { MTYSDataSet.出勤形態Row dl = (MTYSDataSet.出勤形態Row)dts.出勤形態.Rows.Find(it.ID); dl.Delete(); } } catch (Exception ex) { MessageBox.Show("データの削除に失敗しました" + Environment.NewLine + ex.Message); } finally { // 削除をコミット adp.Update(dts.出勤形態); // データテーブルにデータを読み込む adp.Fill(dts.出勤形態); // 画面データ消去 DispInitial(); } }