给GridView一个DataTable,怎么写它的分页事件

给GridView一个DataTable,怎么写它的分页事件,第1张

关键是在GridView的PageIndexChanging事件中加入GridView1CurrentPageIndex = eNewPageIndex;这句,然后再重新执行一次绑定数据方法

解决方法
所以最好是修改jquerydatatable控件,给生成的每个datatable下的checkbox赋 予不同的id,因为datatable的id是不一样的,所以可以把 datatable的id作为 checkbox的前缀组成一个唯一的id 。 具体这个checkbox的调用事件也需要同步 替换成这个新id,进行事件的调用。
[修改文件]
jqureydatatableextjs (v001)

 MVC项目中有的时候List的条数比较多,需要分页显示,可以用如下的办法:
1、写一个简单PaginatedList 辅助类:
public class PaginatedList<T> : List<T> {
public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
public int TotalPages { get; private set; }
public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize) {
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = sourceCount();
TotalPages = (int) MathCeiling(TotalCount / (double)PageSize);
thisAddRange(sourceSkip(PageIndex PageSize)Take(PageSize));
}
public bool HasPreviousPage {
get {
return (PageIndex > 0);
}
}
public bool HasNextPage {
get {
return (PageIndex+1 < TotalPages);
}
}
}
 2、Controller中使用这个PaginatedList 类来返回View:
public ActionResult Index(int page) {
const int pageSize = 10;
var upcomingDinners = dinnerRepositoryFindUpcomingDinners();
var paginatedDinners = new PaginatedList<Dinner>(upcomingDinners, page 0,pageSize);
return View(paginatedDinners);
}
3、View中实现导航链接的Code如下:
 <% if (ModelHasPreviousPage) { %>
<%= HtmlRouteLink("<<<", "UpcomingDinners", new { page =
(ModelPageIndex-1) }) %>
<% } %>
<% if (ModelHasNextPage) { %>
<%= HtmlRouteLink(">>>", "UpcomingDinners", new { page = (ModelPageIndex +
1) }) %>
<% } %>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10255805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存