Gridview查询后,对查询结果进行编辑,可无法定位我要的记录行,解决方法

本文主要是介绍Gridview查询后,对查询结果进行编辑,可无法定位我要的记录行,解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

终于解决了!
这是由于SQLDataSource中的SelectCommand是不被保留的。  
所以当您修改了SelectCommand后,点击了编辑后,ASP.net会自动再重新生成一次SqlDataSource,而他的SelectCommand依旧使用的还是原先默认设置中的select * from Table。所以他会从去数据库中,将所有的数据都都回来。  
解决的方法就是将SelectCommand加入到Session或是ViewState或是Cookie中,然后再每次页面Load的时候,将内容付给SqlDataSource  
如下:  
1、将页面中自动生成的数据源查询命令语句设置为空。然后在 pageload中 检查session如果不为空则说明有查询语句,赋给即可。如果初次打开页面,可以else 给默认语句,即可。
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)  ‘控件查询事件
{  
SqlDataSource1.SelectCommand = "select * from table4 where id = '6'";  
Session["SqlDataSouce1Command"] = SqlDataSource1.SelectCommand;  
}  

protected void Page_Load(object sender, EventArgs e)  
{  
if (!(Session["SqlDataSouce1Command"] == null))  
SqlDataSource1.SelectCommand = Session["SqlDataSouce1Command"].ToString();  

}  

vb.net 的
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

'将数据源 语句存到sesson中,而不是写在页面中  为了解查询结果不编辑时,行错。
If Session("sqlcmd") <> "" Then '如果session中有语句则就设置上
AccessDataSource1.SelectCommand = Session("sqlcmd").ToString()
End If

End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim can1, can2 As String
can1 = DropDownList1.SelectedValue
can2 = TextBox1.Text
If can2.Trim() <> "" Then
AccessDataSource1.SelectCommand = "SELECT  *  FROM [gslist] where " & can1 + " like'" & can2 + "%'"
GridView1.DataBind()
If GridView1.Rows.Count() = 0 Then Button2.Enabled = False Else Button2.Enabled = True
End If

'将语句存放到session中
AccessDataSource1.SelectCommand = "SELECT  *  FROM [gslist] where " & can1 + " like'" & can2 + "%'"
Session("sqlcmd") = AccessDataSource1.SelectCommand
End Sub

这篇关于Gridview查询后,对查询结果进行编辑,可无法定位我要的记录行,解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934428

相关文章

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J