Hi Experts,
How to manage checkbox status.
when I am paging in gridview then
if I checked checkbox then checkbox value is save when i go to next page this checkbox value is preserve.
also work sorting.
Please send any link for soring?
Thanks,
Loading
Jitendra PatelPosted Mar 28, 2011, 9:46 AM
I Have put code here,
Private Sub RememberOldValues()
Try
Dim dtEmpIncrement As DataTable
If ViewState(__VW_CHKED_STATUS) IsNot Nothing Then
dtEmpIncrement = CType(ViewState(__VW_CHKED_STATUS), DataTable)
Else
dtEmpIncrement = __CreateTable()
End If
Dim intCnt As Integer
For i As Integer = 0 To grvEmployee.Rows.Count - 1
If CType(grvEmployee.Rows(i).FindControl("chkSelect"), CheckBox).Checked Then
Dim dr As DataRow
dr = dtEmpIncrement.Rows.Find(CType(grvEmployee.Rows(i).FindControl("hdnEmployeeIdForSave"), HiddenField).Value)
If dr Is Nothing Then
dr = dtEmpIncrement.NewRow
dr("EmpId") = CType(grvEmployee.Rows(i).FindControl("hdnEmployeeIdForSave"), HiddenField).Value
Else
intCnt = 1
End If
If intCnt = 0 Then
dtEmpIncrement.Rows.Add(dr)
Else
dtEmpIncrement.AcceptChanges()
intCnt = 0
End If
Else
Dim dr As DataRow
dr = dtEmpIncrement.Rows.Find(CType(grvEmployee.Rows(i).FindControl("hdnEmployeeIdForSave"), HiddenField).Value)
If dr IsNot Nothing Then
dtEmpIncrement.Rows.Remove(dr)
End If
End If
Next
dtEmpIncrement.AcceptChanges()
ViewState(__VW_CHKED_STATUS) = dtEmpIncrement
Catch ex As Exception
End Try
End Sub
Private Sub RePopulateValues()
Try
Dim dtEmpIncrement As DataTable
If ViewState(__VW_CHKED_STATUS) IsNot Nothing Then
dtEmpIncrement = CType(ViewState(__VW_CHKED_STATUS), DataTable)
If dtEmpIncrement IsNot Nothing AndAlso dtEmpIncrement.Rows.Count > 0 Then
For row As Integer = 0 To grvEmployee.Rows.Count - 1
Dim index As String
index = CType(grvEmployee.Rows(row).FindControl("hdnEmployeeIdForSave"), HiddenField).Value
Dim dr As DataRow
dr = dtEmpIncrement.Rows.Find(index)
If dr IsNot Nothing Then
CType(grvEmployee.Rows(row).FindControl("chkSelect"), CheckBox).Checked = True
End If
Next
End If
End If
Catch ex As Exception
End Try
End Sub
Private Function __CreateTable() As DataTable
Dim dtShift As New DataTable
Try
dtShift.Columns.Add("EmpId")
Dim dc(0) As DataColumn
dc(0) = dtShift.Columns("EmpId")
dtShift.PrimaryKey = dc
dtShift.AcceptChanges()
Catch ex As Exception
End Try
Return dtShift
End Function
PAging Events
RememberOldValues()
grvEmployee.PageIndex = e.NewPageIndex
Me.ViewState("PageIndex") = Nothing
Me.ViewState("PageIndex") = e.NewPageIndex
__BindSearchDetails()
RePopulateValues()
Grid Row Command
RememberOldValues()
__BindSearchDetails()
RePopulateValues()
Jitendra PatelPosted Mar 28, 2011, 5:44 AM
I got Solution .
I will put code.