Skip to content

Commit e51191d

Browse files
committed
Fixed incorrect combo box listing for connections in gridview.
1 parent 943c0f5 commit e51191d

File tree

4 files changed

+65
-28
lines changed

4 files changed

+65
-28
lines changed

Virtual_EDW/Form_Base.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public FormBase(FormMain myParent)
1818
MyParent = myParent;
1919
InitializeComponent();
2020
}
21+
2122
internal static TemplateGridView _templateGridView;
2223

2324
// List of TEAM working environments.

Virtual_EDW/Form_Main.cs

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,15 @@ public FormMain()
108108
VdwUtility.LoadTeamConnectionsFileForVdw(VdwConfigurationSettings.ActiveEnvironment.environmentKey);
109109
VdwUtility.LoadTeamConfigurationFileForVdw(VdwConfigurationSettings.ActiveEnvironment.environmentKey);
110110

111+
// Define the data grid.
112+
_templateGridView = new TemplateGridView(TeamConfigurationSettings);
113+
((ISupportInitialize)(_templateGridView)).BeginInit();
114+
115+
_templateGridView.DoubleBuffered(true);
116+
tabPageSettings.Controls.Add(_templateGridView);
117+
118+
((ISupportInitialize)(_templateGridView)).EndInit();
119+
111120
PopulateEnvironmentComboBox();
112121
comboBoxEnvironments.SelectedIndex = comboBoxEnvironments.FindStringExact(VdwConfigurationSettings.TeamSelectedEnvironmentInternalId);
113122

@@ -163,26 +172,10 @@ private void RefreshTemplateGrid()
163172
SetTextMain("There are no templates found in the designated template directory. Please verify if there is a " + GlobalParameters.TemplateCollectionFileName + " in the " + VdwConfigurationSettings.TemplatePath + " directory, and if the file contains templates.");
164173
}
165174

166-
// Define and populate the data grid.
167-
_templateGridView = new TemplateGridView(TeamConfigurationSettings);
168-
((ISupportInitialize)(_templateGridView)).BeginInit();
169-
170-
_templateGridView.DoubleBuffered(true);
171-
tabPageSettings.Controls.Add(_templateGridView);
172-
173-
((ISupportInitialize)(_templateGridView)).EndInit();
174-
175175
PopulateTemplateCollectionDataGrid();
176-
177176
_templateGridView.AutoLayout();
178177
}
179178

180-
public sealed override string Text
181-
{
182-
get { return base.Text; }
183-
set { base.Text = value; }
184-
}
185-
186179
public void PopulateTemplateCollectionDataGrid()
187180
{
188181
// Convert into data table
@@ -195,6 +188,9 @@ public void PopulateTemplateCollectionDataGrid()
195188
var localConnectionKeyList = LocalTeamConnection.TeamConnectionKeyList(TeamConfigurationSettings.ConnectionDictionary);
196189
List<string> userFeedbackList = new List<string>();
197190

191+
// Make sure all the connections are updated in the gridview combobox.
192+
_templateGridView.RefreshComboboxItems();
193+
198194
foreach (DataRow row in templateDataTable.Rows)
199195
{
200196
var comboBoxValueConnectionKey = row["TemplateConnectionKey"].ToString();
@@ -1493,6 +1489,7 @@ private void comboBoxEnvironments_SelectedIndexChanged(object sender, EventArgs
14931489
richTextBoxInformationMain.AppendText($"The '{VdwConfigurationSettings.ActiveEnvironment.environmentKey}' environment is now active.\r\n");
14941490
}
14951491
// Ensure the template overview is updated.
1492+
//_templateGridView = new TemplateGridView(TeamConfigurationSettings);
14961493
RefreshTemplateGrid();
14971494
}
14981495

@@ -1563,5 +1560,11 @@ private void openCoreDirectoryToolStripMenuItem_Click(object sender, EventArgs e
15631560
richTextBoxInformationMain.Text = $@"An error has occurred while attempting to open the directory. The error message is: {ex.Message}.";
15641561
}
15651562
}
1563+
1564+
public sealed override string Text
1565+
{
1566+
get { return base.Text; }
1567+
set { base.Text = value; }
1568+
}
15661569
}
15671570
}

Virtual_EDW/LoadPatternGrid.cs

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.ComponentModel;
23
using System.Data;
34
using System.Drawing;
45
using System.Windows.Forms;
@@ -8,10 +9,16 @@ namespace Virtual_Data_Warehouse
89
{
910
public class TemplateGridView : DataGridView
1011
{
12+
internal BindingList<LocalTeamConnection> bindingList;
13+
internal BindingSource bindingSource;
14+
internal TeamConfiguration TeamConfiguration;
15+
1116
public TemplateGridView(TeamConfiguration teamConfiguration)
1217
{
1318
#region Generic properties
1419

20+
TeamConfiguration = teamConfiguration;
21+
1522
// Disable resizing for performance, will be enabled after binding.
1623
RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
1724
ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
@@ -54,17 +61,32 @@ public TemplateGridView(TeamConfiguration teamConfiguration)
5461
};
5562
Columns.Add(TemplateType);
5663

57-
DataGridViewComboBoxColumn TemplateConnectionKey = new DataGridViewComboBoxColumn
64+
// Connections list (combo box) column.
65+
DataGridViewComboBoxColumn TemplateConnectionKey = new DataGridViewComboBoxColumn();
66+
67+
TemplateConnectionKey.Name = TemplateGridColumns.TemplateConnectionKey.ToString();
68+
TemplateConnectionKey.HeaderText = "Connection";
69+
TemplateConnectionKey.DataPropertyName = TemplateGridColumns.TemplateConnectionKey.ToString();
70+
TemplateConnectionKey.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
71+
72+
TemplateConnectionKey.DataSource = null;
73+
74+
bindingList = new BindingList<LocalTeamConnection>();
75+
bindingSource = new BindingSource();
76+
77+
bindingSource.DataSource = bindingList;
78+
TemplateConnectionKey.DataSource = bindingSource;
79+
80+
var connectionList = LocalTeamConnection.GetConnections(teamConfiguration.ConnectionDictionary);
81+
82+
foreach (LocalTeamConnection teamConnection in connectionList)
5883
{
59-
Name = TemplateGridColumns.TemplateConnectionKey.ToString(),
60-
HeaderText = "Connection Key",
61-
DataPropertyName = TemplateGridColumns.TemplateConnectionKey.ToString(),
62-
DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing,
63-
DataSource = LocalTeamConnection.GetConnections(teamConfiguration.ConnectionDictionary),
64-
DisplayMember = "ConnectionKey",
65-
ValueMember = "ConnectionId",
66-
ValueType = typeof(string)
67-
};
84+
bindingList.Add(teamConnection);
85+
}
86+
87+
TemplateConnectionKey.DisplayMember = "ConnectionKey";
88+
TemplateConnectionKey.ValueMember = "ConnectionId";
89+
6890
Columns.Add(TemplateConnectionKey);
6991

7092
DataGridViewTextBoxColumn TemplateOutputFileConvention = new DataGridViewTextBoxColumn
@@ -97,11 +119,23 @@ public TemplateGridView(TeamConfiguration teamConfiguration)
97119
#region Event Handlers
98120

99121
CurrentCellDirtyStateChanged += dataGridViewTemplateCollection_CurrentCellDirtyStateChanged;
100-
//DataError += dataGridViewDataError;
122+
DataError += dataGridViewDataError;
101123

102124
#endregion
103125
}
104126

127+
public void RefreshComboboxItems()
128+
{
129+
bindingList.Clear();
130+
131+
var connectionList = LocalTeamConnection.GetConnections(TeamConfiguration.ConnectionDictionary);
132+
133+
foreach (LocalTeamConnection teamConnection in connectionList)
134+
{
135+
bindingList.Add(teamConnection);
136+
}
137+
}
138+
105139
private void dataGridViewDataError(object sender, DataGridViewDataErrorEventArgs e)
106140
{
107141
MessageBox.Show("Error happened " + e.Context);

Virtual_EDW/VdwUtility.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ public static void LoadTeamConnectionsFileForVdw(string environmentName)
136136
foreach (var localConnection in FormBase.TeamConfigurationSettings.ConnectionDictionary)
137137
{
138138
FormBase.VdwConfigurationSettings.VdwEventLog.Add(Event.CreateNewEvent(EventTypes.Information, $"The connection key {localConnection.Value.ConnectionKey} is available as part of the {FormBase.VdwConfigurationSettings.ActiveEnvironment.environmentKey} environment."));
139-
140139
}
141140
}
142141
}

0 commit comments

Comments
 (0)