/// <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; } }
/// <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()); }
public static string GetDBName(AllDB dbList, Database.DBAddress address) { return(dbList[address.MainID]?.DBs[address.SubID]?.Tag?.ToString()); }
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; }