为了实现这个功能我被折磨了半个月,什么重写GridView1_RowUpdating()、GridView1_RowCancelingEdit()啊,在网上找了一堆的资料突然发现了问题的关键:
- 原来问题:GridView在sqldatasource绑定之后有了编辑、删除等按钮,等我给了他查询条件的时候,这些按钮就会出错,用不了。。。
- 之前的解决方法,每次操作之后都重写GridView1_RowUpdating()、GridView1_RowCancelingEdit()等事件,取出dataset之后重新Fill(),
如下: sda_sql1.Fill(ds1); Session["myset"] = ds1; GridView1.DataSourceID = null; GridView1.DataSource = (DataSet)Session["myset"];代码片
3.以上方法太复杂,最近刚刚发现了个简单的方法:在sqldatasource中有selectcommand属性(类似的还有updatacommand属性等)在属性这里可以添加条件!!!,这就意味着,我之前做的工作是无效功。详细见链接:https://docs.microsoft.com/zh-cn/previous-versions/msdn10/dd262233(v=MSDN.10)#%E9%85%8D%E7%BD%AE-gridview-%E5%90%AF%E7%94%A8%E5%88%A0%E9%99%A4
设置 方法如图:
![可以在这里设置](https://img-blog.csdnimg.cn/20200327195209870.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjQwMDcwMw==,size_16,color_FFFFFF,t_70)