У меня есть приложение с представлением, которое содержит одну DataGrid.Он заполняется при открытии представления, но мне нужно перевести его одним нажатием кнопки.У меня есть функциональная кнопка перевода, однако мне нужно обновить DataGrid при нажатии кнопки.
Перезагрузка страницы (путем вызова метода, который обрабатывает событие загрузки) не перезагружает DataGrid.У меня нет доступного метода RefreshDataGrid (хотя я мог бы сделать его, если у кого-то есть предложения, как это сделать).У меня есть subLoadReportList (), но он не обновляет DataGrid.
Private Sub wpfTimeSheetReports_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Try
Dim pstrErrMsg As String = String.Empty
If modGlobalFunctions.ftnAuthenticateUser(pstrErrMsg) = False Then
Dim m As New WPF_CommonControlsLibrary.CustomMessageBox(gAppNameEnglish, gAppNameFrench, pstrErrMsg, pstrErrMsg, WPF_CommonControlsLibrary.CustomMessageBox.enumMsgBoxType.ErrorMsg, gCurrentEnumLanguage)
m.ShowDialog()
Me.Close()
Exit Sub
End If
If Not (modGlobalFunctions.ftnAuthenticateUserControlAccess(Me.GetType.FullName, IsReadOnly, pstrErrMsg)) Then
Dim m As New WPF_CommonControlsLibrary.CustomMessageBox(gAppNameEnglish, gAppNameFrench, pstrErrMsg, pstrErrMsg, WPF_CommonControlsLibrary.CustomMessageBox.enumMsgBoxType.ErrorMsg, gCurrentEnumLanguage)
m.ShowDialog()
Me.Close()
Exit Sub
End If
subLoadReportList()
dgDefinedReport.SelectedValue = 0
Catch ex As Exception
strError = ex.Message & vbCrLf & " IN: " & Me.GetType.FullName
Throw New LegalServicesException(ex)
Finally
If strError.Length() > 0 Then
modGlobalFunctions.DisplayErrorMsg(strError, strError)
strError = String.Empty
End If
End Try
End Sub
Private Sub subLoadReportList()
Try
If CurrentLanguageSelection = enumLanguage.English Then
dgDefinedReport.ItemsSource = ActiveReports
dgDefinedReport.DisplayMemberPath = "Name_English"
dgDefinedReport.SelectedValuePath = "Defined_Report_ID"
Else
dgDefinedReport.ItemsSource = ActiveReports
dgDefinedReport.DisplayMemberPath = "Name_French"
dgDefinedReport.SelectedValuePath = "Defined_Report_ID"
End If
Catch ex As Exception
strError = ex.Message & vbCrLf & " IN: " & Me.GetType.FullName
Throw New LegalServicesException(ex)
Finally
If strError.Length() > 0 Then
modGlobalFunctions.DisplayErrorMsg(strError, strError)
strError = String.Empty
End If
End Try
End Sub
Private Sub btnChangeLanguage_Click(sender As Object, e As RoutedEventArgs) Handles btnChangeLanguage.Click
Try
If CurrentLanguageSelection = enumLanguage.English Then
CurrentLanguageSelection = enumLanguage.French
Dim newCulture As CultureInfo = New CultureInfo("fr-CA")
Thread.CurrentThread.CurrentCulture = newCulture
gCurrentStrLanguage = "FR"
wpfTimeSheetReports_Loaded(sender, e)
subLoadReportList()
ElseIf CurrentLanguageSelection = enumLanguage.French Then
CurrentLanguageSelection = enumLanguage.English
Dim newCulture As CultureInfo = New CultureInfo("en-CA")
Thread.CurrentThread.CurrentCulture = newCulture
gCurrentStrLanguage = "EN"
wpfTimeSheetReports_Loaded(sender, e)
subLoadReportList()
End If
Catch ex As Exception
Throw ex
End Try
End Sub