Hi,
I'm trying to update/show the status of a task which loads values from a database into a ComboBox, but the StatusStrip on the MDIParent is not updating to reflect this.
The code extract with relation to this task is as follows. I have put the database loading to a ComboBox in it's own BackgroundWorker to assist, but still no luck.
Code as follows:
Your prompt reply and assistance is greatly appreciated
Cheers,
Ray.
I'm trying to update/show the status of a task which loads values from a database into a ComboBox, but the StatusStrip on the MDIParent is not updating to reflect this.
The code extract with relation to this task is as follows. I have put the database loading to a ComboBox in it's own BackgroundWorker to assist, but still no luck.
Code as follows:
Private Sub frmTradingApplication_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load |
'START: Set Theme for all Telerik Controls |
Telerik.WinControls.ThemeResolutionService.ApplicationThemeName = AppTheme |
'END: Set Theme for all Telerik Controls |
'Force Name into Name Field |
With rtxtTradeS1_Name |
.Text = FullName |
.ReadOnly = True |
End With |
'Load Data into Large Cap Combo Box |
BgWkr_LoadComboBox.RunWorkerAsync() |
'Disable Large Cap Combo Box & Other Text Box |
rcbTradeS1_LargeCapIfYes.Enabled = False |
rtxtTradeS1_LargeCapUnlisted.Enabled = False |
Private Sub rcbTradeS1_LargeCapIfYes_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rcbTradeS1_LargeCapIfYes.SelectedIndexChanged |
Select Case rcbTradeS1_LargeCapIfYes.SelectedItem.ToString |
Case "Please Select Large Cap Stock..." |
ErrorProvider_NewTrade.SetError(rtxtTradeS1_LargeCapUnlisted, "Invalid Selection!") |
Case "Other / Not Listed - Other / Not Listed" |
rcbTradeS1_LargeCapIfYes.Enabled = True |
rtxtTradeS1_LargeCapUnlisted.NullText = "Please enter the Large Cap Stock you are trading here..." |
Case Else |
'Large Cap Selection OK / Disable & Clear Unlisted Box |
With rtxtTradeS1_LargeCapUnlisted |
.Enabled = False |
.NullText = "Large Cap Selection OK" |
End With |
End Select |
End Sub |
Private Sub rrbTradeS1_LargeCapYes_ToggleStateChanged(ByVal sender As System.Object, ByVal args As Telerik.WinControls.UI.StateChangedEventArgs) Handles rrbTradeS1_LargeCapYes.ToggleStateChanged |
If rrbTradeS1_LargeCapYes.ToggleState = Telerik.WinControls.Enumerations.ToggleState.On Then |
rcbTradeS1_LargeCapIfYes.Enabled = True |
Else |
rcbTradeS1_LargeCapIfYes.Enabled = False |
End If |
End Sub |
Private Sub rrbTradeS1_LargeCapNo_ToggleStateChanged(ByVal sender As System.Object, ByVal args As Telerik.WinControls.UI.StateChangedEventArgs) Handles rrbTradeS1_LargeCapNo.ToggleStateChanged |
If rrbTradeS1_LargeCapYes.ToggleState = Telerik.WinControls.Enumerations.ToggleState.On Then |
rcbTradeS1_LargeCapIfYes.Enabled = True |
Else |
rcbTradeS1_LargeCapIfYes.Enabled = False |
End If |
End Sub |
Private Sub BgWkr_LoadComboBox_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BgWkr_LoadComboBox.DoWork |
Try |
BgWkr_LoadComboBox.WorkerReportsProgress = True |
My.Forms.frmMain.sbarProgress.ShowProgressIndicator = True |
Dim dbAdapter As New SqlDataAdapter("SELECT * FROM eTAS.dbo.viewLargeCapStockOrigins", My.Settings.eTASConnectionString) |
Dim dbDataSet As New DataSet |
Dim PercentValue As Integer |
Dim RowCounter As Integer = 0 |
dbAdapter.Fill(dbDataSet) |
For Each dbRow As DataRow In dbDataSet.Tables(0).Rows |
RowCounter += 1 |
Dim rcbTradeS1_LargeCapIfYesItem As New Telerik.WinControls.UI.RadComboBoxItem |
rcbTradeS1_LargeCapIfYesItem.Text = "" |
rcbTradeS1_LargeCapIfYesItem.Text = dbRow.Item("CountryName").ToString & " - " & dbRow.Item("LargeCapStockName").ToString |
rcbTradeS1_LargeCapIfYesItem.Value = dbRow.Item("CountryName").ToString & " - " & dbRow.Item("LargeCapStockName").ToString |
rcbTradeS1_LargeCapIfYes.Items.Add(New Telerik.WinControls.UI.RadComboBoxItem(rcbTradeS1_LargeCapIfYesItem.Text, CObj(rcbTradeS1_LargeCapIfYesItem.Value))) |
PercentValue = CInt(((RowCounter / dbDataSet.Tables(0).Rows.Count) * 100)) |
BgWkr_LoadComboBox.ReportProgress(PercentValue, "Loading Large Cap Stocks... " & PercentValue & "% Complete...") |
Next |
Catch ex As Exception |
MsgBox(ex.Message, MsgBoxStyle.Critical, "Load Combo Box Error...") |
End Try |
End Sub |
Private Sub BgWkr_LoadComboBox_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BgWkr_LoadComboBox.ProgressChanged |
Try |
My.Forms.frmMain.sbarStatus.Text = e.UserState |
My.Forms.frmMain.sbarProgress.Value1 = e.ProgressPercentage |
My.Forms.frmMain.sbarMain.Refresh() |
CollectGarbage() |
Catch ex As Exception |
MsgBox(ex.Message & vbCrLf & vbCrLf & ex.InnerException.ToString, MsgBoxStyle.Critical, "BgWkr_LoadComboBox_ProgressChanged Error") |
End Try |
End Sub |
Private Sub BgWkr_LoadComboBox_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BgWkr_LoadComboBox.RunWorkerCompleted |
My.Forms.frmMain.sbarStatus.Text = "Large Cap Stocks Loaded OK" |
My.Forms.frmMain.sbarProgress.Value1 = 0 |
My.Forms.frmMain.sbarMain.Refresh() |
CollectGarbage() |
End Sub |
Your prompt reply and assistance is greatly appreciated
Cheers,
Ray.