/// <summary>
/// 塗聚文
/// 20140225
/// </summary>
public partial class DatatablePage : System.Web.UI.Page
{ /// <summary>
/// 测试 分页数据
/// </summary>
DataTable pageDt;
/// <summary>
///
/// </summary>
public void geovinduDt()
{
pageDt = new DataTable();
pageDt.Columns.Add("id", typeof(int));
pageDt.Columns.Add("ddno", typeof(string));
pageDt.Columns.Add("dd", typeof(string));
//dtyhdd.Rows.Add("1", "n1");
//dtyhdd.Rows.Add("2", "n2");
for (int i = 1; i <= 31; i++)
{
//保存到内存表中
DataRow tr = this.pageDt.NewRow();
tr["id"] = i;
tr["ddno"] = i.ToString();
tr["dd"] = i.ToString() + "内容";
pageDt.Rows.Add(tr);
} } /// <summary>
/// 隐患地点共分多少页
/// </summary>
int verypage = 0;
/// <summary>
/// 隐患当前页
/// </summary>
int currentPage = 0;
/// <summary>
/// 每页显示多少数据
/// </summary>
int PageSize = 1; /// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{ if (!string.IsNullOrEmpty(Request.QueryString["page"]))
{
currentPage = int.Parse(Request.QueryString["page"]);
}
currentPage++; this.TextBox1.Text = currentPage.ToString();
//【初始化数据】
geovinduDt();
//【执行分页显示】 //每次显示10条数据 需要多少次
verypage = pageDt.Rows.Count / 1;
//是否有余数
int numys = pageDt.Rows.Count % 1;
if (numys > 0)
{
currentPage++;
}
//comyhdd.Items.Clear();
if (currentPage >= pageDt.Rows.Count)
{
Button1.Enabled = false;
return;
} DataRow[] mMatches = pageDt.Select("(id=" + currentPage + ")");
//DataRow matches = new DataRow(); string strName = mMatches[0]["dd"].ToString(); DataSet pDS = new System.Data.DataSet();
System.Data.DataTable mDT = pageDt.Clone();
mDT.Clear();
//mDT.TableName = mTableName;
//mDT = mDT.Clone();
for (int i = 0; i < mMatches.Length; i++)
{
mDT.Rows.Add(mMatches[i].ItemArray);
}
pDS.Tables.Add(mDT);
//1
Repeater1.DataSource = GetPagedTable(pageDt, currentPage, PageSize);
Repeater1.DataBind();
//2
//Repeater1.DataSource = pDS;
//Repeater1.DataBind(); this.TextBox1.Text = strName;
//Repeater1.DataSource = GetPagedTable(pageDt, yhdddqi, PageSize);
//Repeater1.DataBind();
this.Label1.Text = currentPage.ToString() + "/" + verypage; } }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
verypage = 1; //下一页
if (!string.IsNullOrEmpty(Request.QueryString["page"]))
{
currentPage = int.Parse(Request.QueryString["page"]);
}
currentPage++;
geovinduDt();
if (currentPage >= pageDt.Rows.Count)
{
Button1.Enabled = false;
return;
} DataRow[] mMatches = pageDt.Select("(id=" + currentPage + ")");
//DataRow matches = new DataRow();
string strName = mMatches[0]["dd"].ToString();
this.TextBox1.Text = strName;
string answer = string.Empty;
if (CheckBoxA.Checked == true)
{
answer = "A";
}
if (CheckBoxB.Checked == true)
{
if (!string.IsNullOrEmpty(answer))
{
answer = answer + "," + "B";
}
else
{
answer = "B";
}
}
if (CheckBoxC.Checked == true)
{
if (!string.IsNullOrEmpty(answer))
{
answer = answer + "," + "C";
}
else
{
answer = "C";
}
}
if (CheckBoxD.Checked == true)
{
if (!string.IsNullOrEmpty(answer))
{
answer = answer + "," + "D";
}
else
{
answer = "D";
}
}
Jscript.Alert(answer);
this.Label1.Text = currentPage.ToString() + "/" + verypage;
Response.Redirect("DatatablePage.aspx?page=" + (currentPage) + "&name=" + strName); } /// <summary>
/// DataTable分页
/// </summary>
/// <param name="dt">DataTable</param>
/// <param name="PageIndex">页索引,注意:从1开始</param>
/// <param name="PageSize">每页大小</param>
/// <returns></returns>
public static DataTable GetPagedTable(DataTable dt, int currentPageIndex, int pageSize)
{ //1
//判断当前索引
if (currentPageIndex == 0)
return dt;
//从数据集合拷贝数据
DataTable newdt = dt.Copy();
//数据清空
newdt.Clear();
//开始数据索引 = 当前页-1 x 每页大小
int rowbegin = (currentPageIndex - 1) * pageSize;
//结束数据索引 = 当前页 x 每页大小
int rowend = currentPageIndex * pageSize;
//开始数据索引 大于等于 当前数据集合大小
if (rowbegin >= dt.Rows.Count)
return newdt;
//结束数据索引 大于 当前数据集合大小
if (rowend > dt.Rows.Count)
rowend = dt.Rows.Count;
//遍历数据
for (int i = rowbegin; i <= rowend - 1; i++)
{
DataRow newdr = newdt.NewRow();
DataRow dr = dt.Rows[i];
foreach (DataColumn column in dt.Columns)
{
newdr[column.ColumnName] = dr[column.ColumnName];
}
newdt.Rows.Add(newdr);
} return newdt; //2
//if (currentPageIndex == 0)
//{
//return dt;
//} //DataTable newdt = dt.Clone();// dt.Copy(); //int rowbegin = (currentPageIndex - 1) * pageSize;//当前页的第一条数据在dt中的位置
//int rowend = currentPageIndex * pageSize;//当前页的最后一条数据在dt中的位置 //if (rowbegin >= dt.Rows.Count)
//{
// return newdt;
//} //if (rowend > dt.Rows.Count)
//{
// rowend = dt.Rows.Count;
//} //DataView dv = dt.DefaultView;
//for (int i = rowbegin; i <= rowend - 1; i++)
//{
// newdt.ImportRow(dv[i].Row);
//} //return newdt; }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DatatablePage.aspx.cs" Inherits="ShoppingDeals.Admin.VipHKExamSystem.DatatablePage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Datatable paging,Repeater with Paging </title>
<meta name="author" content="塗聚文" />
</head>
<body>
<form id="form1" runat="server">
<div> <table style="width:100%;">
<tbody>
<tr>
<td>id</td>
<td>name:</td>
</tr>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate> <tr>
<td><%# Eval("ddno").ToString()%></td>
<td><%# Eval("dd").ToString()%></td>
</tr> </ItemTemplate>
</asp:Repeater> </tbody>
</table> <div><b>選擇答案:</b><asp:CheckBox ID="CheckBoxA" runat="server" Text="A" /><asp:CheckBox ID="CheckBoxB" runat="server" Text="B"/><asp:CheckBox ID="CheckBoxC" runat="server" Text="C"/><asp:CheckBox ID="CheckBoxD" runat="server" Text="D"/></div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="下一頁" OnClick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
</form>
</body>
</html>
  public partial class ExamCNTestDisplay : System.Web.UI.Page
{
VIPExamQuestionsBLL vIPExamQuestionsBLL = new VIPExamQuestionsBLL();
VipExamProjectBLL vipExamProjectBLL = new VipExamProjectBLL();
VipExamProjectInfo vipExamProjectInfo = new VipExamProjectInfo();
string examProjectId = string.Empty;
int fcount = 0;
int _currentPage = 0;
int k = 0;
/// <summary>
///
/// </summary>
public int currentPage
{
set { _currentPage = value; }
get { return _currentPage; }
} public int getPage = 1; DataTable Tissues =new DataTable();
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{ //DataTable Tissues = (DataTable)Session["Tissues"]; if (Tissues.Rows.Count==0)
{
Tissues.Columns.Add("ID", typeof(int));
Tissues.Columns.Add("Answer", typeof(string));
} if (!IsPostBack)
{
examProjectId = Request.QueryString["DisID"];
if (k == 0)
{
ViewState["ExamProjectId"] = Request.QueryString["DisID"];
k++;
}
else
{ examProjectId = ViewState["ExamProjectId"].ToString();
k++;
}
////Session["BackLogin"] = "ExamProjectList.aspx";
//if (object.Equals(Session["ExamAdminLogin"], null))
//{ // Jscript.AlertAndRedirect("沒有登錄無權限!", "VIPExamLogin.aspx");
//}
if (!string.IsNullOrEmpty(examProjectId))
{
vipExamProjectInfo = vipExamProjectBLL.SelectVipExamProject(int.Parse(examProjectId));
if (!object.Equals(vipExamProjectInfo, null))
{
Page.Title = vipExamProjectInfo.ExamProjectTitle; } PagedDataSource pds = new PagedDataSource();
if (!object.Equals(vIPExamQuestionsBLL.SelectVipQuestionsExamProjectDisplay(int.Parse(examProjectId)), null))
{
pds.DataSource = getdatatable(vIPExamQuestionsBLL.SelectVipQuestionsExamProjectDisplay(int.Parse(examProjectId))).DefaultView; //pds.AllowCustomPaging = true;
pds.AllowPaging = true;
//pds.AllowServerPaging = true;
pds.PageSize = 1;
fcount = pds.Count;
currentPage = Convert.ToInt32(Request["page"]);
//设当前页
pds.CurrentPageIndex = currentPage; getPage = currentPage;
FormView1.DataSource = pds;
FormView1.DataBind();
//设几个超链接 if (!pds.IsFirstPage)
{
lnkUp.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (currentPage - 1);
//LinkButton1.ResolveClientUrl(Request.CurrentExecutionFilePath + "?page=" + (currentPage - 1));
} if (!pds.IsLastPage)
{
//LinkButton1.ResolveClientUrl (Request.CurrentExecutionFilePath + "?page=" + (currentPage - 1)); lnkDown.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (currentPage + 1) + "&DisID=" + examProjectId;
((Label)FormView1.Controls[0].FindControl("Label3")).Text = (currentPage + 1).ToString();
//bool ca = CheckBoxA.Checked;CheckBoxA
//bool cb = CheckBoxB.Checked;
//bool cc = CheckBoxC.Checked;
//bool cd = CheckBoxD.Checked;
//FormView1.DefaultMode = FormViewMode.Insert;
CheckBox CheckBoxA = (CheckBox)FormView1.Controls[0].FindControl("CheckBoxA");//(CheckBox)FormView1.Row.FindControl("CheckBoxA");//
CheckBox CheckBoxB = (CheckBox)FormView1.Controls[0].FindControl("CheckBoxB");
CheckBox CheckBoxC = (CheckBox)FormView1.Controls[0].FindControl("CheckBoxC");
CheckBox CheckBoxD = (CheckBox)FormView1.Controls[0].FindControl("CheckBoxD");
HtmlInputCheckBox CheckBox1 = (HtmlInputCheckBox)FormView1.Controls[0].FindControl("CheckBox1");
string answer = string.Empty;
if (FormView1.CurrentMode == FormViewMode.ReadOnly)
{
// Jscript.Alert(CheckBoxB.Checked.ToString()); if (CheckBoxA.Checked == true)
{
answer = "A";
}
if (CheckBoxB.Checked == true)
{
if (!string.IsNullOrEmpty(answer))
{
answer = answer + "," + "B";
}
else
{
answer = "B";
}
}
if (CheckBoxC.Checked == true)
{
if (!string.IsNullOrEmpty(answer))
{
answer = answer + "," + "C";
}
else
{
answer = "C";
}
}
if (CheckBoxD.Checked == true)
{
if (!string.IsNullOrEmpty(answer))
{
answer = answer + "," + "D";
}
else
{
answer = "D";
}
}
}
//if (((CheckBox)FormView1.FindControl("CheckBoxA")).Checked == true)
//{
// Jscript.Alert("ok");
//}
string id = ((Label)FormView1.Controls[0].FindControl("Label2")).Text;
Tissues.Rows.Add(int.Parse(id), answer);
Jscript.Alert(id + "," + answer + "," + CheckBox1.Checked.ToString()); CheckBoxA.Checked = false;
CheckBoxB.Checked = false;
CheckBoxC.Checked = false;
CheckBoxD.Checked = false; }
else
{
((Label)FormView1.Controls[0].FindControl("Label3")).Text = (currentPage + 1).ToString();
lnkDown.Visible = false; //顯示完不顯示,而顯示提交按鈕
this.Button1.Visible = true;
// Jscript.Alert("end");
Session.Add("Tissues", Tissues);
//(DataTable)Session["Tissues"] = Tissues;
string id = ((Label)FormView1.Controls[0].FindControl("Label2")).Text; if (Tissues.Rows.Count > 0)
{
Jscript.Alert(Tissues.Rows[0][0].ToString());
}
} }
else
{
Jscript.Alert("還沒有添加試題");
return;
} // FormView1.DataSource = vIPExamQuestionsBLL.SelectVipQuestionsExamProjectDisplay(1);
// FormView1.DataBind();
}
else
{
Jscript.Alert("沒有查找相關關項目的數據!");
return;
} } }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void FormView1_PageIndexChanging(object sender, FormViewPageEventArgs e)
{
//FormView1.DataSource=getdatatable(vIPExamQuestionsBLL.SelectVipQuestionsExamProjectDisplay(int.Parse(examProjectId))).DefaultView;
//FormView1.DataBind();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
if (FormView1.PageIndex == fcount)
{
Jscript.Alert("end");
DataTable table = Session["Tissues"] as DataTable; if (table.Rows.Count>0)
{ //read table and push in Sqlserver
Jscript.Alert(table.Rows[0][0].ToString());
}
else
{
//session either expired or invalid page being accessed.
}
}
} /// <summary>
///
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
private DataTable getdatatable(DataTable table)
{
if (!object.Equals(table, null))//
{
DataTable tableDec = new DataTable(); #region ExamQuestionsProject,ExamQuestionsTitle,ExamQuestionsA,ExamQuestionsB,ExamQuestionsC,ExamQuestionsD,ExamQuestionsAnswer,ExamQuestionsDesc,ExamProjectTitle
tableDec.Columns.Add("ExamQuestionsID", typeof(int));
tableDec.Columns.Add("ExamQuestionsProject", typeof(int));
tableDec.Columns.Add("ExamQuestionsTitle", typeof(string));
tableDec.Columns.Add("ExamQuestionsA", typeof(string));
tableDec.Columns.Add("ExamQuestionsB", typeof(string));
tableDec.Columns.Add("ExamQuestionsC", typeof(string));//在職狀態
tableDec.Columns.Add("ExamQuestionsD", typeof(string));
tableDec.Columns.Add("ExamQuestionsAnswer", typeof(string));
tableDec.Columns.Add("ExamQuestionsDesc", typeof(string));
tableDec.Columns.Add("ExamProjectTitle", typeof(string));
tableDec.Columns.Add("ExamProjectCheck", typeof(bool)); #endregion
foreach (DataRow row in table.Rows) // Loop over the rows.
{ bool check = false;
tableDec.Rows.Add(row["ExamQuestionsID"], row["ExamQuestionsProject"], row["ExamQuestionsTitle"], row["ExamQuestionsA"], row["ExamQuestionsB"], row["ExamQuestionsC"], row["ExamQuestionsD"], row["ExamQuestionsAnswer"], row["ExamQuestionsDesc"], row["ExamProjectTitle"], check); } return tableDec;
}
else
{
return null;
} //DataColumn col = new DataColumn("check", typeof(bool));
//dt.Columns.Add(col);
////dt.Columns.AddRange(col);
////dt.Columns.AddRange("check", typeof(bool)); //for (int i=0;i<dt.Rows.Count;i++)
//{
// DataRow row = dt.NewRow();
// row["check"] = false;
// dt.Rows.Add(row);
//} ////for(int i=0;i<dt.Rows.Count;i++)
////{ ////}
//return dt;
}
}

Datatable paging,Repeater with Paging的更多相关文章

  1. [转]Efficiently Paging Through Large Amounts of Data

    本文转自:http://msdn.microsoft.com/en-us/library/bb445504.aspx Scott Mitchell April 2007 Summary: This i ...

  2. 前端paging分页,前端设置每页多少条和当前页面的索引,传给后端,数据显示出来

    1.首先引入jquery 2.在引入paging.css和paging.js  这2个我存在百度云上: 链接:https://pan.baidu.com/s/1SPxlBkkx-pNAtLuRLifE ...

  3. [转]Paging, Searching and Sorting in ASP.Net MVC 5

    本文转自:http://www.c-sharpcorner.com/UploadFile/4b0136/perform-paging-searching-sorting-in-Asp-Net-mvc- ...

  4. Jetpack系列:Paging组件帮你解决分页加载实现的痛苦

    相信很多小伙伴们在项目实战中,经常会用到界面的分页显示.加载更多等功能.需要针对具体功能做针对性开发和调试,耗时耗力. Paging组件的使用将这部分的工作简化,从而让开发者更专注于业务的具体实现.下 ...

  5. Elasticsearch系列---搜索分页和deep paging问题

    概要 本篇从介绍搜索分页为起点,简单阐述分页式数据搜索与原有集中式数据搜索思维方式的差异,就分页问题对deep paging问题的现象进行分析,最后介绍分页式系统top N的案例. 搜索分页语法 El ...

  6. ES 25 - Elasticsearch的分页查询及其深分页问题 (deep paging)

    目录 1 分页查询方法 2 分页查询的deep paging问题 1 分页查询方法 在GET请求中拼接from和size参数 // 查询10条数据, 默认从第0条数据开始 GET book_shop/ ...

  7. LINQ查询返回DataTable类型

    个人感觉Linq实用灵活性很大,参考一篇大牛的文章LINQ查询返回DataTable类型 http://xuzhihong1987.blog.163.com/blog/static/267315872 ...

  8. WPF DataGrid分页功能实现代码 修改原作者不能实现的部分

    这两天需要给Datagrid加个分页,查找了一些相关的文章,发现有一个写了一个控件比较好,地址是 http://blog.csdn.net/zdw_wym/article/details/822189 ...

  9. Oracle分页存储过程

    1.在oracle的sqlplus或其他工具中运行一下pl/sql块建立存储过程 --创建包create or replace package testpackage astype test_curs ...

随机推荐

  1. Python3入门之软件安装

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 最近将我的Python笔记整理下,希望能对他人有所帮助,这是第一课,安装入门篇: windows下安装Python 1.下载,从这里下载:[下载链 ...

  2. 创建Oracle synonym 详解

    --创建使用同义词 --同义词就是给表.视图等对象取得别名,用于简化对其的访问 --分为2种: --私有同义词:用户自己创建自己使用的 --公共同义词:dba创建,给其它用户使用的 --为dept_s ...

  3. DATE类型数据在MySql中减一天的问题

    最近在开发一个教务管理系统,数据库中有教师表(Teacher).学生表(Student)等,其中属性:出生日期(Birthday)为DATE类型. 在执行更新教师操作时,发现未改动教师的出生日期但更新 ...

  4. linux的发行版

    Linux的不同版本以及应用领域 1.Linux内核及发行版介绍 <1>Linux内核版本 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一 ...

  5. AR资料汇总学习

    ARKit 从入门到精通 http://www.chinaar.com/ARKit/5210.html ARKit 框架的学习 http://blog.csdn.net/biangabiang/art ...

  6. ubuntu下安装谷歌浏览器

    deb 是 Debian Linux 的安装格式,在 ubuntu 中同样可以使用.要安装 deb 安装包,需要使用 dpkg这个终端命令,命令格式如下: $ sudo dpkg -i <pac ...

  7. 网络瓶颈、线程死锁、内存泄露溢出、栈堆、ajax

    网络瓶颈:网络传输性能及稳定性的一些相关元素 线程死锁:多个线程因竞争资源造成的一种僵局 下面我们通过一些实例来说明死锁现象. 先看生活中的一个实例,2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥 ...

  8. 洛谷 P3267 [JLOI2016/SHOI2016]侦察守卫(树形dp)

    题面 luogu 题解 树形\(dp\) \(f[x][y]表示x的y层以下的所有点都已经覆盖完,还需要覆盖上面的y层的最小代价.\) \(g[x][y]表示x子树中所有点都已经覆盖完,并且x还能向上 ...

  9. 洛谷 P2147 [SDOI2008]洞穴勘测 (线段树分治)

    题目链接 题解 早就想写线段树分治的题了. 对于每条边,它存在于一段时间 我们按时间来搞 我们可把一条边看做一条线段 我们可以模拟线段树操作,不断分治下去 把覆盖\(l-r\)这段时间的线段筛选出来, ...

  10. [转] SpringBoot RESTful 应用中的异常处理小结

    [From] https://segmentfault.com/a/1190000006749441 SpringBoot RESTful 应用中的异常处理小结 永顺 2016年08月29日发布 赞  ...