Greetings again,
This is part of the solution that the great Richard provided last week.
The app takes empID and determines if the employee has ever completed the form before.
If this is the first time the employee is compleing the form, then the form is completely blank so employee can complete entire form.
This works great.
It also checks to see if the employee had completed the form before, if yes but not the previous year, then employee name, title, email and employee ID are loaded but the rest of the form is blank so the user can complete the rest of the form.
This also works great.
Here is the part that we are still having problem with.
An employee can complete one gridview control, say GridView1, add an additional row and complete that row.
In this situation, if the employee completed form the previous year, then when the data that the employee had completed the previous year is loaded, it displays the two rows that employee completed for GridView1.
The problem is that all other gridview controls like grvspouse, grvspouse, etc for instance, are are also loaded with two rows even though those rows are blank.
Is there somethin I can change in the attached code that will ensure that those gridview controls like the two examples I showed above, show just one row since they have not been completed before?
This is part of the solution that the great Richard provided last week.
The app takes empID and determines if the employee has ever completed the form before.
If this is the first time the employee is compleing the form, then the form is completely blank so employee can complete entire form.
This works great.
It also checks to see if the employee had completed the form before, if yes but not the previous year, then employee name, title, email and employee ID are loaded but the rest of the form is blank so the user can complete the rest of the form.
This also works great.
Here is the part that we are still having problem with.
An employee can complete one gridview control, say GridView1, add an additional row and complete that row.
In this situation, if the employee completed form the previous year, then when the data that the employee had completed the previous year is loaded, it displays the two rows that employee completed for GridView1.
The problem is that all other gridview controls like grvspouse, grvspouse, etc for instance, are are also loaded with two rows even though those rows are blank.
Is there somethin I can change in the attached code that will ensure that those gridview controls like the two examples I showed above, show just one row since they have not been completed before?
Protected Sub txtEmpID_TextChanged(sender As Object, e As EventArgs) Handles txtEmpID.TextChanged If String.IsNullOrEmpty(txtEmpID.Text) Then checkusername.Visible = False Return End If ' Clear the controls: 'txtEmpID.Text = String.Empty txteName.Text = String.Empty txttitle.Text = String.Empty txtemail.Text = String.Empty lblStatus.Text = String.Empty Gridview1.DataSource = Nothing Gridview1.DataBind() grvspouse.DataSource = Nothing grvspouse.DataBind() grvDiv.DataSource = Nothing grvDiv.DataBind() grvReim.DataSource = Nothing grvReim.DataBind() grvHon.DataSource = Nothing grvHon.DataBind() grvGift.DataSource = Nothing grvGift.DataBind() grvOrg.DataSource = Nothing grvOrg.DataBind() grvCred.DataSource = Nothing grvCred.DataBind() checkusername.Visible = True dprocessed.Visible = True lblStatus.ForeColor = System.Drawing.Color.Red Using Conn As New SqlConnection(ConfigurationManager.ConnectionStrings("constr").ConnectionString) Using cmd As New SqlCommand("ValidateEmpID", Conn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue("@empID", txtEmpID.Text) Conn.Open() Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection) If Not dr.Read() Then imgstatus.ImageUrl = "images/Icon_Available.gif" lblStatus.Text = "This must be the first time you are completing this form. Proceed to complete entire form. If you feel there is a mistake, please contact the office" txteName.Enabled = True txttitle.Enabled = True txtemail.Enabled = True txtEmpID.Enabled = True GridPanels.Enabled = True btnNext.Enabled = True Return End If imgstatus.ImageUrl = "images/NotAvailable.jpg" txteName.Text = dr("employeeName").ToString() txttitle.Text = dr("empTitle").ToString() txtemail.Text = dr("email").ToString() txtEmpID.Text = dr("empID").ToString() If dr("previousYear").ToString() = "1" Then lblStatus.Text = "Please verify your information for accuracy. Then complete rest of the form." txteName.Enabled = True txttitle.Enabled = True txtemail.Enabled = True txtEmpID.Enabled = True GridPanels.Enabled = True btnNext.Enabled = True fillSourceRecords() ElseIf dr("thisYear").ToString() = "1" Then lblStatus.Text = "You have already completed this form. Please close the form. If you feel there is a mistake, please contact the office" txteName.Enabled = False txttitle.Enabled = False txtemail.Enabled = False txtEmpID.Enabled = False GridPanels.Enabled = False btnNext.Enabled = False Else lblStatus.Text = "No entries this year, nor the previous year. Please complete the form. If you feel this is a mistake, please contact Clerk to the CEO and BOC at 404-371-3224" txteName.Enabled = False txttitle.Enabled = False txtemail.Enabled = False txtEmpID.Enabled = False GridPanels.Enabled = False btnNext.Enabled = False End If End Using End Using End Using End Sub Private Sub fillSourceRecords() Dim conn_str As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString Using conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("constr").ConnectionString) conn.Open() Using sourcecmd As SqlCommand = New SqlCommand() sourcecmd.CommandText = "uspGetAllRecs" sourcecmd.CommandType = CommandType.StoredProcedure sourcecmd.Parameters.AddWithValue("@empID", txtEmpID.Text.Trim()) sourcecmd.Connection = conn Using ad As SqlDataAdapter = New SqlDataAdapter(sourcecmd) Dim ds As DataSet = New DataSet() ad.Fill(ds) Gridview1.DataSource = ds Gridview1.DataBind() grvspouse.DataSource = ds grvspouse.DataBind() grvDiv.DataSource = ds grvDiv.DataBind() grvReim.DataSource = ds grvReim.DataBind() grvHon.DataSource = ds grvHon.DataBind() grvGift.DataSource = ds grvGift.DataBind() grvOrg.DataSource = ds grvOrg.DataBind() grvCred.DataSource = ds grvCred.DataBind() End Using End Using End Using End Sub