/// <summary> /// UserDBのみ:列を追加 /// </summary> private void tolDBAddColumn_Click(object sender, EventArgs e) { if (this.tbcDatabaseTab.SelectedIndex != (int)Database.DBIndices.UserDB) { return; } var userDBobj = (this.tbcDatabaseTab.TabPages[(int)Database.DBIndices.UserDB].Controls[0] as ctlDBGUIUserDB); var Dlg = new Dialog.Database.dlgEditColumn(null, userDBobj.UDB, this); if (Dlg.ShowDialog(this) == DialogResult.OK) { //列操作後はUndo/Redoバッファーを初期化する Database.AddDBColumn(userDBobj.UDB, Dlg.Result); this.SetupDependColumnAll(); userDBobj.UndoRedo.InitBuffer(); } }
/// <summary> /// UserDBのみ:列を編集 /// </summary> private void tolDBEditColumn_Click(object sender, EventArgs e) { if (this.tbcDatabaseTab.SelectedIndex != (int)Database.DBIndices.UserDB) { return; } var userDBobj = (this.tbcDatabaseTab.TabPages[(int)Database.DBIndices.UserDB].Controls[0] as ctlDBGUIUserDB); if (userDBobj.UDB.SelectedCells.Count == 0) { //編集対象が選択されていない MessageBox.Show("編集する列内のセルを選択して下さい。", Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (userDBobj.UDB.Columns[userDBobj.UDB.CurrentCell.ColumnIndex].Tag == null) { //不正な列形式 MessageBox.Show("現在選択されている列は編集できません。", Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (MessageBox.Show(Resources.MsgW_ImportantWork.Replace("$", "列を変更すると、操作対象となる列のデータはすべて削除されます"), Resources.AppName, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.No) { //警告に怖気づいた return; } var Dlg = new Dialog.Database.dlgEditColumn(userDBobj.UDB.Columns[userDBobj.UDB.CurrentCell.ColumnIndex].Tag as DBColumn, userDBobj.UDB, this); if (Dlg.ShowDialog(this) == DialogResult.OK) { //列の変更を適用 var newCol = Dlg.Result; var index = userDBobj.UDB.CurrentCell.ColumnIndex; userDBobj.UDB.Columns.RemoveAt(index); userDBobj.UDB.Columns.Insert(index, newCol.CreateColumnObject()); this.SetupDependColumnAll(); userDBobj.UndoRedo.InitBuffer(); } }