Question Problem Getting Index / Updating Records

SCassidy2010

New member
Joined
Mar 6, 2010
Messages
4
Programming Experience
1-3
Hi again...

I'm currently working on a form in vb.net 2005 that displays job details depending on the customer selected. I have a relationship set up linking the job to the customer in vb.net as well,

the user selects a customer from a combobox, then a datagrid shows all the jobs related to the customer (only a few details such as date, time, cost), that it works fine. when the user selects a job from the datagrid, textboxes are then filled with all the details. This too works ok. The problem is, the jobs are saved as a quote, and can then be converted to a "job", and finally a job can be marked as complete. For some reason i can only update the first record stored, no matter which record I pick - the index seems to stay at 0. Is there any way around this or have I completely messed up the code?

thanks again anyone in advance who can help!!!!
 
Form Code...

Heres most of the code, only code I left out was stuff like setting button properties etc.


VB.NET:
Imports System.Data
Imports System.Data.OleDb

'----------------------------------------------------------------------------------------
' Module        : 
' Project       : CDiTNi
' Version       : 1.1
' Date          : 
' Author        : Stephen Cassidy
' Description   : 
'----------------------------------------------------------------------------------------
Public Class frmViewDataRecoveryJobs
    '####################### Module Level Constants and Variables ###########################
    Dim dsDataRecoveryJobs As New DataSet

    Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\HND Computing\Year 2\Assignments\SDP1\CDiTNi\CDiTNi.accdb"
    Dim connOle As New OleDbConnection
    Dim daCustomers As New OleDbDataAdapter
    Dim daDataRecoveryJobs As New OleDbDataAdapter

    Dim dbCustomerJobRelation As DataRelation
    Dim dvCustomerJob As DataView
    Dim rvRowView As DataRowView
    Dim dcParent As DataColumn
    Dim dcChild As DataColumn

    Dim bsDataRecoveryJobs As New BindingSource
    Dim commandBuilder As New OleDbCommandBuilder
    '########################################################################################



    '##################################################################### Load Event #########################################################################
    '----------------------------------------------------------------------------------------
    ' Procedure     : frmViewDataRecoveryJobs_Load
    ' Date          : 04/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub frmViewDataRecoveryJobs_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.connOle.ConnectionString = Me.connStr

        Me.daDataRecoveryJobs = New OleDbDataAdapter("SELECT DataRecoveryJobID, StaffID, _
CustomerID, [DateCreated], [Make], _
SerialNumber, Problem, FormatPCPermission, _
BackupData, DataToBeBackedUp, UsernamePasswords, [AdditionalRequests], _
[AdditionalHardwareSoftware], [EstimatedJobTimeDays], _
[TotalCost], [Quote], [Completed], _
[DateCompleted] FROM tblJobsDataRecovery", connOle)

        Me.daCustomers = New OleDbDataAdapter("SELECT * FROM tblCustomerAccounts", connOle)

        Me.daDataRecoveryJobs.Fill(Me.dsDataRecoveryJobs, "tblJobsDataRecovery")
        Me.daCustomers.Fill(Me.dsDataRecoveryJobs, "tblCustomerAccounts")

        Me.dcParent = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Columns("CustomerID")
        Me.dcChild = Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery").Columns("CustomerID")
        Me.dbCustomerJobRelation = New DataRelation("CustomerJob", Me.dcParent, Me.dcChild)
        Me.dsDataRecoveryJobs.Relations.Add(Me.dbCustomerJobRelation)


        Me.commandBuilder = New OleDbCommandBuilder(Me.daDataRecoveryJobs)
        Me.bsDataRecoveryJobs.DataSource = Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery")

        Me.txtDataRecoveryJobID.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "DataRecoveryJobID", True))
        Me.txtCustomerID.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "CustomerID", True))
        Me.txtStaffID.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "StaffID", True))
        Me.txtDateCreated.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "DateCreated", True))
        Me.txtMake.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "Make", True))
        Me.txtSerialNumber.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "SerialNumber", True))
        Me.txtProblem.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "Problem", True))
        Me.chkFormatPCPermission.DataBindings.Add(New Binding("Checked", Me.bsDataRecoveryJobs, "FormatPCPermission", True))
        Me.chkBackupData.DataBindings.Add(New Binding("Checked", Me.bsDataRecoveryJobs, "BackupData", True))
        Me.txtDataToBeBackedUp.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "DataToBeBackedUp", True))
        Me.txtUsernamePasswords.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "UsernamePasswords", True))
        Me.txtAdditionalRequests.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "AdditionalRequests", True))
        Me.txtAdditionalHardwareSoftware.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "AdditionalHardwareSoftware", True))
        Me.txtEstimatedJobTimeDays.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "EstimatedJobTimeDays", True))
        Me.txtTotalCost.DataBindings.Add(New Binding("Text", Me.bsDataRecoveryJobs, "TotalCost", True))
        Me.chkQuote.DataBindings.Add(New Binding("Checked", Me.bsDataRecoveryJobs, "Quote", True))
        Me.chkCompleted.DataBindings.Add(New Binding("Checked", Me.bsDataRecoveryJobs, "Completed", True))

        With Me.cboCustomers
            .DataSource = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts")
            .DisplayMember = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Columns("CustomerID").ToString()
            .ValueMember = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Columns("CustomerID").ToString()
            .SelectedIndex = 0
        End With

       

        ResetFilters()
        DisableEditing()
        EnableButtons()



    End Sub



    '##################################################################### Buttons #########################################################################
    '----------------------------------------------------------------------------------------
    ' Procedure     : btnUpgradeToJob_Click
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub btnUpgradeToJob_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpgradeToJob.Click
        Try
            If MessageBox.Show("Confirm Quote As Job?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question, _
            MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then

                MessageBox.Show(Me.bsDataRecoveryJobs.Position.ToString())

                Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery").Rows(Me.bsDataRecoveryJobs.Position)("Quote") = False

                ' Update Database and display confirmation message
                Me.bsDataRecoveryJobs.EndEdit()
                Me.daDataRecoveryJobs.Update(Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery"))

                MessageBox.Show("CDiTNi Database Updated Sucessfully", "Update Successful", MessageBoxButtons.OK, _
                MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)

            Else ' Else if user selects 'No'
                'Do Nothing
            End If ' End of 'Confirm Quote As Job?' If

        Catch ex As Exception
            MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)

        Finally
            EnableButtons()
        End Try ' End of Main Try Catch
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : btnCompleteJob_Click
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub btnCompleteJob_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCompleteJob.Click
        Try
            If MessageBox.Show("Tag Job As Completed?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question, _
                        MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then

                ' Set Completed to "True"
                Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery").Rows(Me.dgDataRecoveryJobs.CurrentRow.Index)("Completed") = True
                Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery").Rows(Me.dgDataRecoveryJobs.CurrentRow.Index)("DateCompleted") = Today.ToShortDateString()

                ' Update Database and display confirmation message
                Me.bsDataRecoveryJobs.EndEdit()
                Me.daDataRecoveryJobs.Update(Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery"))

                MessageBox.Show("CDiTNi Database Updated Sucessfully", "Update Successful", MessageBoxButtons.OK, _
                MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)

            Else ' Else if user selects 'No'
                'Do Nothing
            End If ' End of 'Tag Job As Completed?' If

        Catch ex As Exception
            MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)

        Finally
            EnableButtons()
        End Try ' End of Main Try Catch
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : btnCancelJob_Click
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub btnCancelJob_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelJob.Click
        Try

        Catch ex As Exception
            MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)

        Finally
            EnableButtons()
        End Try ' End of Main Try Catch
    End Sub

    

    '----------------------------------------------------------------------------------------
    ' Procedure     : chkShowCompleted_CheckedChanged
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub chkShowCompleted_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chkShowCompleted.CheckedChanged
        '####################### Procedure Level Constants and Variables ###########################
        ' Dim dvJob As DataView = DataView used to filter the DataGrid 
        Dim dvJob As DataView
        '###########################################################################################

        dvJob = New DataView(Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery"))

        If CBool(Me.chkShowCompleted.Checked) = True Then

            dvJob.RowFilter = "CustomerID = '" & Me.cboCustomers.SelectedValue.ToString() & "' AND Completed = 'True'"
            Me.dgDataRecoveryJobs.DataSource = dvJob
            Me.dgDataRecoveryJobs.Refresh()

        Else

            dvJob.RowFilter = "CustomerID = '" & Me.cboCustomers.SelectedValue.ToString() & "'"
            Me.dgDataRecoveryJobs.DataSource = dvJob
            Me.dgDataRecoveryJobs.Refresh()

        End If
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : chkShowAllJobs_CheckedChanged
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub chkShowAllJobs_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chkShowAllJobs.CheckedChanged
        '####################### Procedure Level Constants and Variables ###########################
        ' Dim dvJob As DataView = DataView used to filter the DataGrid 
        Dim dvJob As DataView
        '###########################################################################################

        dvJob = New DataView(Me.dsDataRecoveryJobs.Tables("tblJobsDataRecovery"))

        Me.chkShowQuotes.CheckState = CheckState.Unchecked
        Me.chkShowJobs.CheckState = CheckState.Unchecked
        Me.chkShowCompleted.CheckState = CheckState.Unchecked

        dvJob.RowFilter = "CustomerID = '" & Me.cboCustomers.SelectedValue.ToString() & "'"
        Me.dgDataRecoveryJobs.DataSource = dvJob
        Me.dgDataRecoveryJobs.Refresh()

    End Sub



    '##################################################################### ComboBoxes #########################################################################
    '----------------------------------------------------------------------------------------
    ' Procedure     : cboCustomers_SelectedIndexChanged
    ' Date          : 04/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub cboCustomers_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboCustomers.SelectedIndexChanged

        Try

            Me.dvCustomerJob = New DataView(Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts"))

            ' Display Customer Details
            Me.txtCustomerName.Text = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custFirstName").ToString() _
            & " " & Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custSurname").ToString()

            Me.txtCustomerAddress.Text = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custAddressLine1").ToString() _
            & Environment.NewLine() & Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custAddressLine2").ToString() _
            & Environment.NewLine() & Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custCityTown").ToString() _
            & Environment.NewLine() & Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custPostCode").ToString()

            Me.txtCustomerContactDetails.Text = Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custContactNumber").ToString() _
            & Environment.NewLine() & Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custMobileNumber").ToString() _
            & Environment.NewLine() & Me.dsDataRecoveryJobs.Tables("tblCustomerAccounts").Rows(Me.cboCustomers.SelectedIndex)("custEmail").ToString()

            ' Update DataGrid view
            Me.rvRowView = Me.dvCustomerJob(Me.cboCustomers.SelectedIndex)
            Me.dgDataRecoveryJobs.DataSource = Me.rvRowView.CreateChildView(Me.dbCustomerJobRelation)
            ' Set DataGrid properties
            SetDataGridProperties()

        Catch ex As Exception
            MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)

        Finally
            ResetFilters()
        End Try

    End Sub



    '##################################################################### DataGrids #########################################################################
    '----------------------------------------------------------------------------------------
    ' Procedure     : dgDataRecoveryJobs_SelectionChanged
    ' Date          : 04/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub dgDataRecoveryJobs_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgDataRecoveryJobs.SelectionChanged
        'Update DataGrid Colours
        SetDataGridRowColour()
        EnableButtons()

        ' Display Job details in textboxes
        Me.txtDataRecoveryJobID.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.bsDataRecoveryJobs.Position).Cells.Item("DataRecoveryJobID").Value.ToString()
        Me.txtCustomerID.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("CustomerID").Value.ToString()
        Me.txtStaffID.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("StaffID").Value.ToString()
        Me.txtDateCreated.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("DateCreated").Value.ToString()
        Me.txtMake.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Make").Value.ToString()
        Me.txtSerialNumber.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("SerialNumber").Value.ToString()
        Me.txtProblem.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Problem").Value.ToString()
        Me.chkFormatPCPermission.Checked = CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("FormatPCPermission").Value)
        Me.chkBackupData.Checked = CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("BackupData").Value)
        Me.txtDataToBeBackedUp.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("DataToBeBackedUp").Value.ToString()
        Me.txtUsernamePasswords.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("UsernamePasswords").Value.ToString()
        Me.txtAdditionalRequests.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("AdditionalRequests").Value.ToString()
        Me.txtAdditionalHardwareSoftware.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("AdditionalHardwareSoftware").Value.ToString()
        Me.txtEstimatedJobTimeDays.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("EstimatedJobTimeDays").Value.ToString()
        Me.txtTotalCost.Text = "£" & Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("TotalCost").Value.ToString()
        Me.chkQuote.Checked = CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Quote").Value)
        Me.chkCompleted.Checked = CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Completed").Value)
        Me.txtDateCompleted.Text = Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("DateCompleted").Value.ToString()
    End Sub



    '##################################################################### Custom Procedures #########################################################################
    '----------------------------------------------------------------------------------------
    ' Procedure     : SetDataGridRowColour
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : Changes the colour of the datagrid row depending on whether the selected
    '                 job is a quote, job, or completed.
    '----------------------------------------------------------------------------------------
    Private Sub SetDataGridRowColour()

        For Each drDataGridRow As DataGridViewRow In Me.dgDataRecoveryJobs.Rows
            ' If 'Quote' in the current row equals 'True', set selection colour to Red
            If CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Quote").Value) = True Then
                Me.dgDataRecoveryJobs.CurrentRow.DefaultCellStyle.BackColor = Color.LightGray
            End If
            ' If 'Quote' in the current row equals 'False', set selection colour to DimGray
            If CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Quote").Value) = False Then
                Me.dgDataRecoveryJobs.CurrentRow.DefaultCellStyle.BackColor = Color.DimGray
            End If
            ' If 'Completed' in the current row equals 'True', set selection colour to Tan
            If CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Completed").Value) = True Then
                Me.dgDataRecoveryJobs.CurrentRow.DefaultCellStyle.BackColor = Color.Tan
            End If
        Next
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : SetDataGridProperties
    ' Date          : 04/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub SetDataGridProperties()
        With Me.dgDataRecoveryJobs
            ' Setting properties of DataGird
            .ReadOnly = True
            .AllowUserToAddRows = False
            .AllowUserToDeleteRows = False
            .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
            .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
            .MultiSelect = False
            .SelectionMode = DataGridViewSelectionMode.FullRowSelect
            .ScrollBars = ScrollBars.Vertical

            ' Setting properties of columns that will be displayed
            With .Columns("DataRecoveryJobID")
                .HeaderText = "DRID"
                .FillWeight = 100
                .Resizable = DataGridViewTriState.False
            End With

            With .Columns("EstimatedJobTimeDays")
                .HeaderText = "Est. Time (Days)"
                .FillWeight = 75
                .Resizable = DataGridViewTriState.False
            End With

            With .Columns("DateCreated")
                .HeaderText = "Date Created"
                .FillWeight = 80
                .Resizable = DataGridViewTriState.False
            End With

            With .Columns("TotalCost")
                .HeaderText = "Total Cost"
                .FillWeight = 75
                .Resizable = DataGridViewTriState.False
            End With

            With .Columns("Completed")
                .HeaderText = "Completed?"
                .FillWeight = 75
                .Resizable = DataGridViewTriState.False
            End With

            With .Columns("DateCompleted")
                .HeaderText = "Date Completed"
                .FillWeight = 75
                .Resizable = DataGridViewTriState.False
            End With

            'Columns to be hidden
            .Columns("CustomerID").Visible = False
            .Columns("StaffID").Visible = False
            .Columns("Make").Visible = False
            .Columns("SerialNumber").Visible = False
            .Columns("Problem").Visible = False
            .Columns("FormatPCPermission").Visible = False
            .Columns("BackupData").Visible = False
            .Columns("DataToBeBackedUp").Visible = False
            .Columns("UsernamePasswords").Visible = False
            .Columns("AdditionalRequests").Visible = False
            .Columns("AdditionalHardwareSoftware").Visible = False
            .Columns("Quote").Visible = False
        End With
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : DisableEditing
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : 
    ' Description   : 
    '----------------------------------------------------------------------------------------
    Private Sub DisableEditing()

        ' set ReadOnly to True for textboxes/Checkboxes in GroupBox gbxCustomerDetails
        Me.txtCustomerName.ReadOnly = True
        Me.txtCustomerAddress.ReadOnly = True
        Me.txtCustomerContactDetails.ReadOnly = True

        ' set ReadOnly to True for textboxes/Checkboxes in GroupBox gbxJobDetails
        Me.txtMake.ReadOnly = True
        Me.txtSerialNumber.ReadOnly = True
        Me.txtProblem.ReadOnly = True
        Me.chkFormatPCPermission.Enabled = False
        Me.chkBackupData.Enabled = False
        Me.txtDataToBeBackedUp.ReadOnly = True
        Me.txtUsernamePasswords.ReadOnly = True
        Me.txtAdditionalRequests.ReadOnly = True
        Me.txtAdditionalHardwareSoftware.ReadOnly = True

        ' set ReadOnly to True for textboxes/Checkboxes in GroupBox gbxTimeCost
        Me.txtEstimatedJobTimeDays.ReadOnly = True
        Me.txtTotalCost.ReadOnly = True
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : ResetFilters
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : None
    ' Description   : Resets the checkboxes to their defaults (false)
    '----------------------------------------------------------------------------------------
    Private Sub ResetFilters()
        Me.chkShowQuotes.Checked = False
        Me.chkShowJobs.Checked = False
        Me.chkShowCompleted.Checked = False
        Me.chkShowAllJobs.Checked = False
    End Sub

    '----------------------------------------------------------------------------------------
    ' Procedure     : EnableButtons
    ' Date          : 06/03/2010
    ' Author        : Stephen Cassidy
    ' Parameters    : None
    ' Description   : Enables or disables the Upgrade To Job, Complete job and 
    '                 Cancel Quote / Job buttons depending on the type of job selected
    '----------------------------------------------------------------------------------------
    Private Sub EnableButtons()

        ' if Completed = True
        If CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Completed").Value) = True Then
            ' Disable all buttons
            Me.btnUpgradeToJob.Enabled = False
            Me.btnCancelJob.Enabled = False
            Me.btnCompleteJob.Enabled = False

            ' if Quote = True
        ElseIf CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Quote").Value) = True Then
            ' Enable btnUpgradeToJob and btnCancelJob to allow user to convery quote to job, or cancel quote
            Me.btnUpgradeToJob.Enabled = True
            Me.btnCancelJob.Enabled = True

            ' Disable btnCompleteJob
            Me.btnCompleteJob.Enabled = False

            ' Else if Quote = False
        ElseIf CBool(Me.dgDataRecoveryJobs.Rows.Item(Me.dgDataRecoveryJobs.CurrentRow.Index).Cells.Item("Quote").Value) = False Then
            ' Disable btnUpgradeToJob 
            Me.btnUpgradeToJob.Enabled = True

            ' Enable btnCompleteJob and btnCancelJob to allow user to complete job or cancel it
            Me.btnCancelJob.Enabled = True
            Me.btnCompleteJob.Enabled = True
        End If ' End of Main if

    End Sub
 
Back
Top