首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

难理解的刷新有关问题!绝对很难处理

2012-02-22 
难理解的刷新问题!绝对很难处理!页面中有个DataGrid1,开始时绑定到表TB1,在编辑,删除,更新,换页等按扭的事

难理解的刷新问题!绝对很难处理!
页面中有个DataGrid1,开始时绑定到表TB1,在编辑,删除,更新,换页等按扭的事件中都调用个重新绑定DataGrid1到DB1的方法BindGrid();不这样的话好象页面内容就刷新不了。
可是我遇到这样个问题:查询操作的时候,DataGrid1绑定到TB1中查询出来的部分内容,这时如果也有N多页,当再点换页操作时,或者是编辑操作时,会激发BindGrid();而这个方法又把DataGrid1绑定到表TB1,于是....刚才查询出来的内容飞了。
如果不调用BindGrid();,页面内容却刷新不了,好矛盾啊...
我是初学者,这个问题还真是难懂,有什么方法完成上面的操作吗?

[解决办法]
关于ing!
[解决办法]
jf
[解决办法]
DataGrid1_PageIndexChanged事件中应该是这种形式
DataGrid1.CurrentPageIndex = e.NewPageIndex
BindGrid()

你说开始时绑定是什么意思?是一进页面数据就已经绑定上了吗?那一定要把BindGrid放到not postback里,如:
Page_load:
(VB语法)
If Not Page.IsPostBack Then
BindGrid()
End if
如果不放到not postback里。点击按钮或任何触发PostBack的事件。都会执行Page_load里的内容。



[解决办法]
If Not Page.IsPostBack Then
BindGrid()
End if
应该是这个缘故
[解决办法]
可以在BindGrid()方法中加一个参数BindGrid(string connstring),connstring为查询的条件
这样当查询的时候绑定的数据源就成了你需要的了
因为你在BindGrid()固定了数据源,所以会出现你现在的问题了
[解决办法]
如果不想每次都查询数据库,那你就把查询结果存在一个缓存中,比如你把DATATABLE或者DATASET等等 存到SESSION或者缓存真实APP[]里都可以,看你需要了.当然这里是在不改变查询条件的时候,如翻页排序之类的.如果有删除添加或者更改查询条件,是必然要重新查询了.
绑定的时候不仅仅是把数据传给DRIGVIEW其实还有GRIDVIEW的一些内部操作,所以BIND是每步必须的.
[解决办法]
你帮定的时候给其传入sql语句,sql语句包括查询条件.
[解决办法]
Page.IsPostBack问题
[解决办法]
BindGrid() 中必须包括查询条件,看来你没有包含。绑定时不能忽视完整的状态,查询条件、页号、焦点所在的行等等都要设置。

热点排行