작업 요청을 추적하기 위해 VB 2008 프로그램을 만들었습니다. 그것은 모든 비스타 상자에서 완벽하게 작동하지만 새로운 기록을 추가 XP 환경에서 프로그램에 문제가 있습니다.DataGridview 및 AddNew 문제
기본적으로 2 개의 탭이 있습니다. 탭 1에는 제한된 정보와 캘린더가있는 DataGridview가 있습니다. 달력에서 날짜를 선택하면 datagridview의 정보가 변경됩니다. TAB 2는 텍스트/콤보 상자에서 해당 레코드에 대한 모든 사용 가능한 정보를 보유합니다. DataGridview와 텍스트 상자는 모두 동일한 바인딩 소스를 사용하므로 사용자가 DataGridview에서 행을 선택할 때마다 항상 동기화됩니다. NEW 단추를 선택하면 사용자가 데이터를 추가 할 수 있도록 모든 텍스트 상자가 비어있는 TAB 2가 나타납니다. TAB 1을 다시 보면 DataGridview에 빈 행이 추가 된 것을 볼 수 있습니다 (사용자는 AllowUserToAdd가 false로 설정되어 있으므로 DataGridview에 행을 직접 추가 할 수 없습니다). 앱이 VISTA에서 AddNew 레코드 상태를 유지하도록하면 SAVE 또는 CANCEL을 선택할 때까지 새 레코드가 유지됩니다. 그러나 XP에서는 1 분의 시간이 지나면 모든 빈 필드에 특정 날짜의 기존 레코드가 채워집니다. TAB 1을 다시 볼 때 더 이상 새로운 빈 행이 표시되지 않고 이전에 저장 한 기존 레코드 만 볼 수 있습니다.
해결 방법에 대한 아이디어가 있으십니까? 도움을 주셔서 감사합니다. 코드가 정확히 궁금 같은 경우는 환경 문제, 예를 들어 경우
Private Sub cmdNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNew.Click
'Focus on Work tab
TabControl1.SelectedTab = tabWork
'Change the files from read-only
bEditMode = True
ChangeEditMode()
'Clear the current information stored in the fields
Try
Me.BindingContext(WorkRequestBindingSource).AddNew()
Catch ex As Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
'Hidden text boxes populate with current selected calendar
'Used to populate TimeIn and DateNeed because if never clicked on, will populate as NULL on save
dtpDateNeed.Text = txtDate.Text
dtpTimeIn.Text = txtTime.Text
End Sub
Windows Forms에 있습니다. –