FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2919|回复: 1
打印 上一主题 下一主题

高手帮帮忙,gird中有.net的checkbox,分页后checked丢失,怎么办

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-9 15:25:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用了一个字典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:55 | 只看该作者
没人能解决这个问题?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-12-5 10:42 , Processed in 0.043170 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表