`
可怜狼
  • 浏览: 33053 次
  • 来自: 北京
社区版块
存档分类
最新评论

GridView分页 不同数据源的切换 数据不能刷新

    博客分类:
  • c#
 
阅读更多
我现在做一个GridView的分页程序,数据源分为三种:(1)页面初始时 一种数据源(2)另两个数据源为 在页面上 有两种查询方式来 查看信息:按姓名 按时间段 现在出现这种情况:在页面初始后 GridView 中载入的数据 点击 下一页 上一页 时页面中 的数据 是可以刷新的 在按姓名或者按时间段来 查看数据时 GridView 中也有数据 在页面中也能看得到 但是 当点击下一页 上一页时 GridView中的 数据就不刷新了。 我的上一页 下一页 这些按钮都是 采用超链接来实现的 我看其中的参数都正确 就是 点击的 时候 (在按姓名 和 按时间段) 查看的情况下 数据都不刷新。 那位老大 帮忙看看! 下面给出页面代码:
日志列表<%=linktemplate %>
当前用户:      数据记录:<% =total%>条      
筛选信息 姓名 日期
从   到     
<%# Eval("al_id").ToString()%> <%#Eval("al_ad_name").ToString()%> <%#Eval("al_ip").ToString()%> <%#Eval("al_create_date").ToString() %> <%#Eval("al_operate").ToString() %>
全选   
<%=firstlink %>> <%=perlink %>> <% = alinks %> <%=nextlink %>> <%=lastlink %>> 当前第<%=pageindex %>/<%=pages %>页 共<% =total %>条数据,<%=pagesize %>条每页,共<%=pages %>页
<% = CopyRights %>  
对应的页面类: namespace RGS.Web.Admin { public partial class AdminLogList : AdminPageBase { public static Int32 logCount; public String al_ad_name = RGSRequest.GetQueryString("al_ad_name"); public String begin_date = RGSRequest.GetQueryString("begin_date"); public String end_date = RGSRequest.GetQueryString("end_date"); public Int32 checktime = RGSRequest.GetQueryInt("checktime", 1); public DateTime begin_Date,end_Date; //选择面板的控制 public static Int32 selectdis ; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadLogList(); } lblMessge.Text = ""; } /// /// 数据的载入 /// private void LoadLogList() { try { begin_Date = Convert.ToDateTime(begin_date); end_Date = Convert.ToDateTime(end_date); } catch (Exception ex) { ErrorProcess.CreateErrorMsg(ex.ToString()); begin_Date = DateTime.Now.AddDays(-1); end_Date = DateTime.Now.AddDays(-1); } //在存储过程中,checktime为1时按无条件查询,2为按姓名 3 为按时间 //对应的存储过程我已经测试过了,没有问题。 bind(al_ad_name,checktime,begin_Date,end_Date); } /// /// 处理全部删除选择的数据 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { string al_ad_list = RGSRequest.GetFormSafeString("cboxSelect"); if (al_ad_list.Length == 0) { lblMessge.Text = "请选择要删除的行!!!"; } else { logCount += AdminLog.AdminLog_DeleteLogListByLogID(al_ad_list); if (logCount >= 0) { lblMessge.Text = "你已经删除" + logCount + "条日志记录"; } } LoadLogList(); } /// /// 处理按时间段查询日志 /// /// /// /// protected void btnDaySelect_Click(object sender, EventArgs e) { selectdis = 1; begin_date = RGSRequest.GetFormString("tboxBeginDay").Trim(); end_date = RGSRequest.GetFormString("tboxEndDay").Trim(); total = 0; pageindex = 1; checktime = 3; LoadLogList(); } /// /// 按用户名进行查询 /// /// /// protected void btnUserNameSelect_Click(object sender, EventArgs e) { al_ad_name = RGSRequest.GetFormSafeString("tboxUserName"); selectdis = 0; total = 0; pageindex = 1; checktime = 2; LoadLogList(); } /// /// 处理数据绑定 /// protected void bind(string al_ad_name, Int32 checktime, DateTime begin_date, DateTime end_date) { if (total == 0) { docount = true; } DataSet ds = AdminLog.AdminLog_GetAdminLogList(al_ad_name,checktime,begin_date,end_date, pagesize, pageindex, docount, "al_create_date DESC"); if (ds != null) { this.GridView1.DataSource = ds.Tables[0]; this.GridView1.DataBind(); if (docount)//如果统计选项为true,取出统计 { total = DataSetProcess.GetTotalFromDataSetTable(ds, 1); } } ProcPaging(); } //分页相关变量 public Int32 total = RGSRequest.GetQueryInt("t", 0);//总记录数 public Int32 pagesize = 30;//页大小 public Int32 pageindex = RGSRequest.GetQueryInt("p", 1);//当前页 public Int32 pages = 0;//总页数 private Boolean docount = false; public String firstlink = "";//首页 public String perlink = "";//上一页 public String nextlink = "";//下一页 public String lastlink = "";//最后一页 public String alinks = "";//中间显示链接 /// /// 处理分页显示 /// public String linktemplate; private void ProcPaging() { linktemplate = "href=?p={0}&t={1}&checktime=" + checktime + "&al_ad_name=" + al_ad_name + "&begin_date=" + begin_date + "&end_date=" + end_date; if (total == 0) { firstlink = ""; perlink = ""; nextlink = ""; lastlink = ""; alinks = ""; } else { pages = Convert.ToInt32(total / pagesize);//计算总页数 if (pages == 0)//如果取整数为0时设为1 pages = 1; if (total > pages * pagesize) pages += 1; if (pageindex > 1) { firstlink = string.Format(linktemplate, 1, total); perlink = string.Format(linktemplate, pageindex - 1, total); } if (pageindex < pages) { lastlink = string.Format(linktemplate, pages, total); nextlink = string.Format(linktemplate, pageindex + 1, total); } if (pages > 1) { int minpage = (pageindex - 4) <= 1 ? 1 : pageindex - 4; int maxpage = (pageindex + 4) >= pages ? pages : pageindex + 4; StringBuilder sb = new StringBuilder(); if (minpage > 1) sb.Append("..."); for (int i = minpage; i < pageindex; i++) { sb.Append(" " + i.ToString() + " "); } sb.Append("" + pageindex + ""); for (int i = pageindex + 1; i <= maxpage; i++) { sb.Append("<a " + string.Format(linktemplate, i, total) + "> " + i.ToString() + " </a>"); } if (maxpage < pages) sb.Append("..."); alinks = sb.ToString(); } } } } } 存储过程: ALTER PROCEDURE AdminLog_GetAdminLogList --读取管理日志 2009-03-17 ( @al_ad_name VARCHAR(30),--管理员用户ID @checktime INT, --是否使用时间条件进行查询,1 不适用条件,2用户名,3时间段 @begin_date DATETIME, --操作时间下限 @checktime=0时任意输入一个时间 @end_date DATETIME , --操作时间上限 @checktime=0时任意输入一个时间 @pagesize INT, -- 页尺寸 @pageindex INT, -- 页码 @docount BIT, -- 返回记录总数, 1 值则返回,以查询结果表1的Total字段输出,表0为分页结果 @strorder VARCHAR(255) -- 排序字段,可由多个字段组合,如 al_ip,al_create_date desc(注意:不要加 ORDER BY) ) AS DECLARE @strWHERE varchar(5000) SET @strWHERE='' IF @checktime=2 BEGIN SET @strWHERE =' AND al_ad_name ='''+@al_ad_name +''' ' END IF @checktime = 3 BEGIN SET @strWHERE = ' AND al_create_date >='''+ CONVERT(varchar(19), @begin_date, 120) +''' AND al_create_date <='''+ CONVERT(varchar(19), @end_date, 120) +''' ' END SET @strWHERE = ' 1=1' + @strWHERE --调用分页存储过程 EXEC PagingData 'Admin_Log','*','al_id',@pagesize,@pageindex,@docount,@strWHERE,@strorder 急需解决这个 按条件查询 的 翻页时的 gridview 的数据刷新问题,请帮帮忙
分享到:
评论

相关推荐

    GRIDVIEW无刷新分页

    在传统的GridView分页中,当用户点击分页按钮时,整个页面会进行刷新,这可能导致用户等待时间较长,尤其是在处理大量数据时。为了解决这个问题,开发人员通常会采用AJAX(Asynchronous JavaScript and XML)技术来...

    最简单的GridView自定义分页

    总结,实现“最简单的GridView自定义分页”主要是通过设置GridView的分页属性,配合数据源查询的分页功能,以及处理分页事件来完成。在实际项目中,可以进一步优化分页的性能和交互效果,以适应不同的需求和场景。...

    ASPxGridview分组和分页功能

    5. **分页事件**: 可以处理`PageIndexChanging`事件,在用户切换页面时执行特定的逻辑,例如刷新数据或更新其他控件的状态。 6. **分页样式**: 分页栏的样式可以通过CSS进行自定义,包括按钮、页码、分隔符等元素。...

    C#万能分页代码,GridView分页相当方便

    它不仅支持绑定多种数据源,如数据库表、XML文档等,还自带了排序、筛选、分页等功能。其中,分页功能允许用户在页面间切换,查看数据的不同部分,从而避免一次性加载大量数据导致的性能问题。 #### 三、C#实现万能...

    GridView分页系列

    - `PageIndexChanging`事件:当用户改变页码时触发,可以通过此事件处理程序更新数据源并重新绑定数据。 - `PageIndexChanged`事件:页面切换完成后触发,可用于执行一些后续操作。 五、自定义分页样式 默认的分页...

    GridView查询排序分页

    一旦数据源配置完成,GridView就能自动显示数据,并且可以根据需求进行操作。 1. **查询排序**: GridView的排序功能允许用户通过点击列头来对数据显示的顺序进行改变。要启用此功能,需在GridView的列定义中设置`...

    gridview 分页保存每页的Checkbox选中的值

    GridView控件允许我们动态绑定数据源,如数据库查询结果,然后以表格的形式显示出来。每个数据行可以自定义模板字段,包括添加Checkbox控件。 对于分页,GridView提供了Paging属性,设置为true即可启用分页。默认...

    GridView分页和选择某条记录

    为了处理分页事件,我们需要添加`PageIndexChanging`事件处理程序,该事件会在用户切换页面时触发,通过`e.NewPageIndex`获取新的页面索引,并重新绑定数据源。 接下来,我们讨论如何实现GridView选择某条记录。...

    ViewPager + GridView实现GridView分页首页导航栏布局分页效果

    `GridView`可以根据数据源自动调整列数,并且支持垂直滚动,非常适合展示列表式的、多列的数据。 在实现`ViewPager + GridView`的分页效果时,我们通常会为每个`ViewPager`页面创建一个单独的`Fragment`,并在`...

    gridview分页 增册改

    1. GridView分页: GridView的分页功能允许用户按页查看数据,而不是一次性加载所有记录,从而减轻服务器负担和提高页面加载速度。要启用分页,首先需要在GridView的属性中设置`AllowPaging`为`true`。然后,可以...

    GridView 分页

    3. **处理分页链接**:为了在用户点击分页链接时切换页面,我们需要在GridView的`PageIndexChanging`事件中更新数据源并重新绑定数据。 ```csharp protected void GridView1_PageIndexChanging(object sender, ...

    GridView实现分页

    3. **处理分页事件**:实现`PageIndexChanging`事件,以便在用户触发分页操作时更新数据源并重新绑定数据。 4. **数据绑定**:每次分页操作后,调用`DataBind()`方法,重新渲染`GridView`,确保显示的是当前页的数据...

    GridView分页

    我们可以通过处理这个事件,更新GridView的数据源,以显示新页的内容。例如,使用`SqlDataSource`时,可以更改`SelectCommand`的参数以获取对应页的数据,然后调用`BindData()`方法重新绑定数据。 在视觉效果上,...

    【ASP.NET编程知识】Aspnetpager对GridView分页并顺利导出Excel.docx

    3. 绑定GridView控件,设置其数据源,通常是从数据库查询得到的结果集。 4. 配置GridView的样式,以提供良好的视觉体验,例如定义不同行的背景色、字体样式等。 5. 使用Aspnetpager控件的事件,如PageIndexChanged...

    ActivityGroup + GridView 实现Tab分页标签

    - `GridView`的数据源应使用`Adapter`进行绑定,以便动态更新和复用视图。 - 考虑兼容性问题,对于Android API级别11及以上的设备,优先使用`Fragment`和`FragmentPagerAdapter`等现代组件。 - 在`GridView`的布局...

    GridView高级操作,实现排序、分页、修改(点击便可修改)

    在`RowEditing`事件中切换行到编辑模式,在`RowUpdating`事件中获取新值并更新数据源,最后在`RowCancelingEdit`事件中取消编辑。 ```csharp protected void GridView1_RowEditing(object sender, ...

    c/s 模式下,自己做的gridview分页。

    当用户切换页面时,我们需要根据CurrentPage和PageSize来计算要从数据库中查询的数据范围,然后执行SQL查询或调用服务接口获取这些数据,并更新GridView的数据源。 5. **动态更新界面**: 在数据加载完成后,需要...

    GridView分页,编辑,删除,查看详情

    **一、GridView分页** 1. **启用分页**:在GridView控件中,通过设置`AllowPaging`属性为`true`来启用分页功能。 2. **设置每页显示条数**:使用`PageSize`属性来设定每一页显示的数据行数。 3. **分页控件**:默认...

    代码实现GridView数据显示

    GridView是ASP.NET中一个常用的控件,用于展示数据集或者数据源,如数据库查询结果,以表格的形式进行显示。在本教程中,我们将深入探讨如何通过代码实现GridView的数据绑定、分页以及设置各项参数。 首先,我们...

    Jquery_GridView无刷新分页

    无刷新分页(Ajax-based Pagination)是现代Web应用的一个重要特性,它允许用户在不重新加载整个页面的情况下切换页面。这极大地提高了网页的响应速度和用户体验。在jQuery GridView中,我们利用AJAX技术来实现这一...

Global site tag (gtag.js) - Google Analytics