예제 #1
0
        /// <summary>
        /// データベースのソースを設定する
        /// </summary>
        private void ChangeDBSrc(Database.DBAddress address)
        {
            this.cmbDBSrc.SelectedIndex = -1;

            if (address == null)
            {
                this.cmbDBSrc.Items.Clear();
                this.cmbDBSrc.Enabled = false;
            }
            else
            {
                Database.CreateComboBoxListFromSrcDB(this.cmbDBSrc, this.Manager[address.MainID].DBs[address.SubID]);
                this.cmbDBSrc.Enabled = true;
            }
        }
예제 #2
0
 /// <summary>
 /// データベースのアドレスからデータベースのタイトルを返します。
 /// </summary>
 /// <param name="FormatID">DataGridViewへのアドレス [ID;SubID]</param>
 /// <returns>データベースのタイトル</returns>
 public string GetDBName(Database.DBAddress address)
 {
     return(this.DBList[address.MainID]?.DBs[address.SubID]?.Tag?.ToString());
 }
예제 #3
0
 public static string GetDBName(AllDB dbList, Database.DBAddress address)
 {
     return(dbList[address.MainID]?.DBs[address.SubID]?.Tag?.ToString());
 }
예제 #4
0
        private readonly bool valueMode;             //共通変数を挿入するモードであるかどうか

        /// <summary>
        /// コンストラクター
        /// </summary>
        /// <param name="DBList">すべてのデータベース</param>
        /// <param name="isColumnMode">行ではなく列を選択するモードにするかどうか</param>
        /// <param name="isValueMode">共通変数を選択するモードにするかどうか</param>
        public dlgInsertDB(AllDB DBList, bool isColumnMode, bool isValueMode)
        {
            if (DBList == null)
            {
                //データベースのインスタンスがないと、ダイアログをセットアップできないのでキャンセル
                this.Close();
                return;
            }

            this.InitializeComponent();
            this.dbList    = DBList;
            this.valueMode = isValueMode;

            if (isValueMode)
            {
                //共通変数を挿入するモード
                this.columnMode = false;
                this.chkColumnNameMode.Visible = false;       //列名は挿入できない

                //共通変数限定のデータベースリストを生成する
                this.lstDB.Items.Clear();
                Common.SetListControlKeyValuePairMode(this.lstDB);
                for (var i = 0; i <= (int)Database.DBValueIndices.CommonString; i++)
                {
                    var dbKey = new Database.DBAddress(Database.DBIndices.Value, i);
                    this.lstDB.Items.Add(new DBListType(CtrlComponent.Database.ctlDatabaseEditor.GetDBName(this.dbList, dbKey), dbKey));
                }
            }
            else
            {
                //データベース項目を挿入するモード
                this.columnMode = isColumnMode;
                this.chkColumnNameMode.Visible = isColumnMode;
                this.chkColumnNameMode.Checked = false;

                //データベースリストを生成する
                this.lstDB.Items.Clear();
                Common.SetListControlKeyValuePairMode(this.lstDB);
                var dblist = CtrlComponent.Database.ctlDatabaseEditor.GetAllDBList(this.dbList);
                foreach (var db in dblist)
                {
                    var name = CtrlComponent.Database.ctlDatabaseEditor.GetDBName(this.dbList, db.Key);
                    if (string.IsNullOrEmpty(name) == false && db.Value.AllowUserToAddRows)
                    {
                        this.lstDB.Items.Add(new DBListType(name, db.Key));
                    }
                }
            }

            //項目リストの列をセットアップする
            this.ltvDBItem.Columns.Clear();
            if (!isColumnMode)
            {
                //項目モード
                this.ltvDBItem.Columns.Add("FixedID", 0);
                this.ltvDBItem.Columns.Add("ID", 60);
                this.ltvDBItem.Columns.Add("名前", 150);
            }
            else
            {
                //列名モード
                this.ltvDBItem.Columns.Add("Index", 60);
                this.ltvDBItem.Columns.Add("名前", 150);
            }

            //既定のデータベースを選択する
            this.lstDB.SelectedIndex = (Settings.Default.Last_DBType < this.lstDB.Items.Count) ? Settings.Default.Last_DBType : 0;
        }