tags:

views:

631

answers:

2

I've created a VB 2008 program to track work requests. It all works perfectly on a VISTA box, but I am having an issue with the program on an XP environment with adding new records.

Basically I've got 2 tabs: TAB 1 holds a datagridview with limited info and a calendar. Selecting dates on the calendar change the info in the datagridview. TAB 2 holds all the available info for that record in text/combo boxes. Both the datagridview and text boxes use the same Binding Source, so they are always in sync whenever the user selects a row from the datagridview. When you select the NEW button, TAB 2 appears with all the text boxes empty so the user can add data. If you look back on TAB 1, you see an empty, new row added to the datagridview (user can not directly add a row in the datagridview as AllowUserToAdd is set to false). If you let the app stay in the AddNew record state on VISTA, you remain on that new record until you select SAVE or CANCEL. On XP, however, after 1 minute time lapse, all the empty fields will eventually fill in with an existing record for that particular calendar day. When you look back on TAB 1, you no longer see the new empty row, you only see existing records previously saved.

Any ideas on how to resolve?? Thanks for any assistance.

Here is the code for adding new records:

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
A: 

If the code is exactly the same I wonder if it is an environment issue e.g. something like different international options or version of framework?

alexmac
+1  A: 

This is definitely an environmental issue. To solve the problem I would need to know which browsers you are using on each machine and some of the settings on each.

It sounds like the XP machine is refreshing the page after a timeout period and therefore munging the new record. I have seen that happen before and it stinks.

You might need to consider saving some more state information in the viewstate to catch that kind of thing.

Craig
It's on Windows Forms
Alfred Myers