FineUI 官方论坛

标题: 高手帮帮忙,gird中有.net的checkbox,分页后checked丢失,怎么办 [打印本页]

作者: 上官锅盔    时间: 2012-7-9 15:25
标题: 高手帮帮忙,gird中有.net的checkbox,分页后checked丢失,怎么办
用了一个字典Dictionar(键值对),用viewstate保存Dictionary。
写了两个function,一个是用来记录grid中checkbox状态,将主键和checkbox的checked状态保存到Dictionary
另一个是回写函数,用vb.net写的,代码如下(做了些小的修改,想用在extaspnet的gird控件上),在纯的.net下用gridview没问题:

  Public Sub RememberOldValues(ByVal dic As Dictionary(Of String, Boolean), ByVal gdv As Grid)
For i As Integer = 0 To gdv.Rows.Count - 1
Dim currentValue As String = gdv.Rows(i).DataKeys(0)
            Dim currentCbx As New System.Web.UI.WebControls.CheckBox
            currentCbx = gdv.Rows(i).FindControl("CheckBox1")
            If currentCbx.Checked AndAlso dic(currentValue) = False Then
                dic(currentValue) = True
            ElseIf Not currentCbx.Checked AndAlso dic(currentValue) = True Then
                dic(currentValue) = False
            End If
        Next
            
      
    End Sub
调试的时候dic的值达到要求。

Public Sub RePopulateValues(ByVal dic As Dictionary(Of String, Boolean), ByVal gdv As Grid)
For Each row As GridRow In gdv.Rows
            Dim currentValue As String = row.DataKeys(0)
            Dim currentCbx As System.Web.UI.WebControls.CheckBox = TryCast(row.FindControl("CheckBox1"), System.Web.UI.WebControls.CheckBox)
            If dic(currentValue) = True Then
                currentCbx.Checked = True
            Else
                currentCbx.Checked = False
            End If
        Next
end sub

有没有其它办法可以在extaspnet grid分页时checkbox状态不丢失

作者: 上官锅盔    时间: 2012-9-4 05:42
没人能解决这个问题?




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4