示例#1
0
        /// <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();
            }
        }
示例#2
0
        /// <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();
            }
        }