0
Answer

Gridview Editing issue

Danish Habib

Danish Habib

8y
399
1
I have four tables and i am getting data from these four table in gridview rowediting , I have used NExtResult  in my code when i execute the store procedure it shows two records but when the code vb.net execute after the next result it does not loop through the next row mean that it just showing the first row below is the code and i have 4 select statement that is why i am using next result () method , my Districts are 10 means ten rows when i execute stored procedure but when the code runs i.e. in edit mode i have to checked the checkboxlist item whose value are present in db it just check the first checkboxlist item mean the while loop ends after nextresult method 

Private Sub grdUsers_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles grdUsers.RowEditing

ViewState("Pflag") = True

count = count + 1

MakeTrue(Pflag)

Dim Tehsilid As String = Nothing

Dim DistrictId As String = Nothing

Dim UCId As String = Nothing

Dim villageID As String = Nothing

Dim cnnUser As New SqlConnection(AppSettings("DbSqlPortal"))

Dim cmdUser As New SqlCommand("FirstCREATE", cnnUser)

Dim drUser As SqlDataReader = Nothing

cmdUser.CommandType = CommandType.StoredProcedure

cmdUser.Parameters.Add("@UserId", SqlDbType.BigInt).Value = CInt(grdUsers.DataKeys(e.NewEditIndex).Value)

Dim litUserIds As Integer = CInt(grdUsers.DataKeys(e.NewEditIndex).Value).ToString()

cnnUser.Open()

drUser = cmdUser.ExecuteReader()

If drUser.HasRows Then

While (drUser.Read())

DisplayInitialForm()

litUserId.Text = CInt(drUser("UserId"))

txtFullName.Text = drUser("FullName")

txtEmail.Text = drUser("Email")

txtPassword.Text = drUser("Password")

txtAnswer.Text = drUser("SecurityAnswer")

ddlSecurityQuestions.SelectedValue = drUser("SecurityQuestion")

chkAdmin.Checked = drUser("IsAdmin")

ddlOrganization.SelectedValue = drUser("OrganizationId")

chkActive.Checked = drUser("IsActive")

If drUser("Gender") = "M" Then

rbMale.Checked = True

ElseIf drUser("Gender") = "W" Then

rbFemale.Checked = True

End If

ChkIsReportAble.Checked = CBool(drUser("IsReportable"))

ddlUserTypes.SelectedValue = drUser("UserTypes")

ddlOrganization.SelectedValue = drUser("OrganizationID")

If drUser("UserTypes") = "4" Then

fillReportablePeopleListForPartner()

Else

fillReportablePeopleList()

End If

If ChkIsReportAble.Checked Then

ddlReporintUser.SelectedValue = Convert.ToString(drUser("ReporintPerson"))

End If


Dim i As Int32

Dim j As Int32

For i = 0 To CheckBoxList1.Items.Count - 1

Dim strChkID As String = drUser("DistrictID")

If CheckBoxList1.Items(i).Value = strChkID Then

CheckBoxList1.Items.Item(i).Selected = True

Else

End If

Next

PopulateTehsil()

If (drUser.NextResult()) Then

While drUser.Read()

For j = 0 To CheckBoxList2.Items.Count - 1

Dim strChkIDs As String = drUser("TehsilId").ToString()

If CheckBoxList2.Items(j).Value = strChkIDs Then

CheckBoxList2.Items.Item(j).Selected = True

End If

Next

Tehsilid &= drUser("TehsilId").ToString() & ","

Session("savedTehsil") = Tehsilid

End While

If Tehsilid IsNot Nothing Then

Dim word As String() = Tehsilid.Split(",")

For Each li In word

For j = 0 To CheckBoxList2.Items.Count - 1

If li = CheckBoxList2.Items.Item(j).Value Then

CheckBoxList2.Items.Item(j).Selected = True

End If

Next

Next

End If

End If

PopulateUcs()

If drUser.NextResult() Then

While drUser.Read()

For j = 0 To CheckBoxList3.Items.Count - 1

Dim strChkIDss As String = drUser("UCID").ToString()

If CheckBoxList3.Items(j).Value = strChkIDss Then

CheckBoxList3.Items.Item(j).Selected = True

End If

Next

UCId &= drUser("UCID").ToString() & ","

Session("seceltedUcs") = UCId

End While

If UCId IsNot Nothing Then

Dim wordss As String() = UCId.Split(",")

For Each li In wordss

For j = 0 To CheckBoxList3.Items.Count - 1

If li = CheckBoxList3.Items.Item(j).Value Then

CheckBoxList3.Items.Item(j).Selected = True

End If

Next

Next

End If

End If

PopulateVillages()

If drUser.NextResult Then

While drUser.Read()

For j = 0 To CheckBoxList4.Items.Count - 1

Dim strChkIDsss As String = drUser("VillageId").ToString()

If CheckBoxList4.Items(j).Value = strChkIDsss Then

CheckBoxList4.Items.Item(j).Selected = True

End If

Next

villageID &= drUser("VillageId").ToString() & ","

Session("VillagesID") = villageID

End While

If villageID IsNot Nothing Then

Dim wordsss As String() = villageID.Split(",")

For Each li In wordsss

For j = 0 To CheckBoxList4.Items.Count - 1

If li = CheckBoxList4.Items.Item(j).Value Then

CheckBoxList4.Items.Item(j).Selected = True

End If

Next

Next

End If

End If

End While

End If

End Sub