- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章asp.net 源码保存 用程序分页由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
源码: 。
复制代码代码如下
namespace Alex { public class PageTools { /// <summary> /// 表名称 /// </summary> private string tableName; public string TableName { get { return tableName; } set { tableName = value; } } /// <summary> /// 返回的列名 /// </summary> private string returnColumns; public string ReturnColumns { get { return returnColumns; } set { returnColumns = value; } } /// <summary> /// 条件 /// </summary> private string where; public string Where { get { return where; } set { where = value; } } /// <summary> /// 排序列 /// </summary> private string orderColumnName; public string OrderColumnName { get { return orderColumnName; } set { orderColumnName = value; } } /// <summary> /// 排序,true为降序 /// </summary> private Boolean orderDesc; public Boolean OrderDesc { get { return orderDesc; } set { orderDesc = value; } } /// <summary> /// 主键 /// </summary> private string keyColumnName; public string KeyColumnName { get { return keyColumnName; } set { keyColumnName = value; } } /// <summary> /// 页面大小 /// </summary> private Int32 pageSize; public Int32 PageSize { get { return pageSize; } set { pageSize = value; } } /// <summary> /// 第几页 /// </summary> private Int32 pageIndex; public Int32 PageIndex { get { return pageIndex; } set { pageIndex = value; } } /// <summary> /// SQL参数 /// </summary> private SqlParameter[] whereParams; public SqlParameter[] WhereParams { get { return whereParams; } set { whereParams = value; } } /// <param name="TableName"></param> /// <param name="ReturnColumns"></param> /// <param name="Where">条件</param> /// <param name="OrderColumnName">排序列</param> /// <param name="OrderDesc">排序,true为降序</param> /// <param name="KeyColumnName">主键</param> /// <param name="PageSize">页面大小</param> /// <param name="PageIndex">第几页</param> /// <param name="WhereParams">SQL参数</param> public PageTools(string tableName, string returnColumns, string where, string orderColumnName, Boolean orderDesc, string keyColumnName, Int32 pageSize, Int32 pageIndex, params SqlParameter[] whereParams) { this.TableName = tableName; this.ReturnColumns = returnColumns; this.Where = where; this.OrderColumnName = orderColumnName; this.OrderDesc = orderDesc; this.KeyColumnName = keyColumnName; this.PageSize = pageSize; this.PageIndex = pageIndex; this.WhereParams = WhereParams; } public PageTools() { } public DataTable RetrievePagerData() { if (pageIndex == 1) { return RetrieveTopData(); } else { string sql = string.Format("select top {0} {1} from {2} where {3} and {6} not in ( select top {7} {6} from {2} where {3} order by {4} {5} ) order by {4} {5}", pageSize, returnColumns, tableName, where, orderColumnName, orderDesc == true ? "desc" : string.Empty, keyColumnName, pageSize * (pageIndex - 1)); return DbHelperSQL.Query(sql, CheckNull(whereParams)).Tables[0]; } } /// <summary> /// 获取数据的条数 /// </summary> /// <param name="TableName"></param> /// <param name="Where"></param> /// <param name="WhereParams"></param> /// <returns></returns> public Int32 RetrieveDataCount() { string sql = string.Format("select count(*) from {0} where {1}" , tableName, where); Int32 result = (Int32)DbHelperSQL.GetSingle(sql, CheckNull(whereParams)); return result; } /// <summary> /// 获取第一页 /// </summary> /// <param name="top"></param> /// <param name="TableName"></param> /// <param name="ReturnColumns"></param> /// <param name="Where"></param> /// <param name="OrderColumnName"></param> /// <param name="OrderDesc"></param> /// <param name="WhereParams"></param> /// <returns></returns> public DataTable RetrieveTopData() { string sql = string.Format("select top {0} {1} from {2} where {3} order by {4} {5}", pageSize, returnColumns, tableName, where, orderColumnName, orderDesc == true ? "desc" : string.Empty); return DbHelperSQL.Query(sql, whereParams).Tables[0]; } /// <summary> /// 移除空参数 /// </summary> /// <param name="WhereParams"></param> /// <returns></returns> private SqlParameter[] CheckNull(SqlParameter[] paras) { if (paras == null) { return null; } List<SqlParameter> list = new List<SqlParameter>(); foreach (SqlParameter para in paras) { if (para != null) list.Add(para); } return list.ToArray(); } } } 。
页面后台: 。
复制代码代码如下
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { recordCount = page.RetrieveDataCount(); totalPages = (int)(Math.Ceiling((double)recordCount / (double)page.PageSize)); if (!IsPostBack) { BindData(); } } Alex.PageTools page = new Alex.PageTools("Test", "*", "1=1", "USER_Account", false, "USER_Account", 10, 1, null); int recordCount; public int totalPages; private void BindData() { int pageIndex = SmartGridView1.PageIndex; if(totalPages>0) { if(pageIndex>totalPages-1) { pageIndex=totalPages-1; } } else { pageIndex=0; } SmartGridView1.PageIndex=pageIndex; page.PageIndex=pageIndex+1; SmartGridView1.DataSource = page.RetrievePagerData(); SmartGridView1.DataBind(); if (this.SmartGridView1.PageIndex == 0) { this.btnFirst.Enabled = false; this.btnPrev.Enabled = false; if (totalPages == 1) { this.btnLast.Enabled = false; this.btnNext.Enabled = false; } } else if (this.SmartGridView1.PageIndex == totalPages - 1) { this.btnLast.Enabled = false; this.btnNext.Enabled = false; } this.lblpagesum.Text = totalPages.ToString(); this.lblpage.Text = (pageIndex + 1).ToString(); this.lblrowscount.Text = recordCount.ToString(); } public void NavigateToPage(object sender, CommandEventArgs e) { btnFirst.Enabled = true; btnPrev.Enabled = true; btnNext.Enabled = true; btnLast.Enabled = true; string pageinfo = e.CommandArgument.ToString(); switch (pageinfo) { case "Prev": if (this.SmartGridView1.PageIndex > 0) { this.SmartGridView1.PageIndex -= 1; } break; case "Next": if (this.SmartGridView1.PageIndex < (totalPages - 1)) { this.SmartGridView1.PageIndex += 1; } break; case "First": this.SmartGridView1.PageIndex = 0; break; case "Last": this.SmartGridView1.PageIndex = totalPages - 1; break; } if (this.SmartGridView1.PageIndex == 0) { btnFirst.Enabled = false; btnPrev.Enabled = false; if (totalPages == 1) { btnLast.Enabled = false; btnNext.Enabled = false; } } else if (this.SmartGridView1.PageIndex == totalPages - 1) { btnLast.Enabled = false; btnNext.Enabled = false; } BindData(); } protected void gobtnClick(object sender, EventArgs e) { int goPageIndex = Convert.ToInt32(this.goCount.Text.Trim()); if (goPageIndex > 0) { if (goPageIndex >= totalPages) { this.SmartGridView1.PageIndex = totalPages - 1; } else { this.SmartGridView1.PageIndex = goPageIndex - 1; } } else if(goPageIndex <=0) { this.SmartGridView1.PageIndex = 0; } if (this.SmartGridView1.PageIndex == 0) { btnFirst.Enabled = false; btnPrev.Enabled = false; btnLast.Enabled = true; btnNext.Enabled = true; if (totalPages == 1) { btnLast.Enabled = false; btnNext.Enabled = false; } } else if (this.SmartGridView1.PageIndex == totalPages - 1) { btnLast.Enabled = false; btnNext.Enabled = false; btnFirst.Enabled = true; btnPrev.Enabled = true; } else { btnLast.Enabled = true; btnFirst.Enabled = true; btnNext.Enabled = true; btnPrev.Enabled = true; } BindData(); } 。
页面前台: 代码 。
复制代码代码如下
<%@ Page Language="C#" Theme="msn_blue" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="SmartGridView" Namespace="BOSSWWebUI.SmartGridView" TagPrefix="uc1" %> <!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"> <title></title> </head> <body> <script type="text/javascript"> function validate() { var gocount=document.getElementById("goCount").value; if(gocount=="") { alert("请先填写你要导航的页面"); return false; } var result; if(isNaN(gocount)) { alert("请输入合法的数字"); document.getElementById("goCount").value=""; return false; } if(parseInt(gocount)<=0|| parseInt(gocount)><%=this.totalPages %>) { alert("数字溢出"); document.getElementById("goCount").value=""; return false; } return true; } </script> <form id="form1" runat="server"> <div> <table cellspacing="0" cellpadding="0" width="98%" align="center" border="0"> <tr id="TrGrid" runat="server"> <td align="left"> ○ 页次:<asp:Label ID="lblpage" runat="server" ></asp:Label>/ <asp:Label ID="lblpagesum" runat="server"></asp:Label>,共:<asp:Label ID="lblrowscount" runat="server"></asp:Label>条</td> <td align="right"> <asp:LinkButton ID="btnFirst" runat="server" OnCommand="NavigateToPage" CommandArgument="First" CommandName="Pager" Text="首 页">[首 页]</asp:LinkButton><asp:LinkButton ID="btnPrev" runat="server" CommandArgument="Prev" OnCommand="NavigateToPage" CommandName="Pager" Text="上一页">[上一页]</asp:LinkButton><asp:LinkButton ID="btnNext" runat="server" CommandArgument="Next" OnCommand="NavigateToPage" CommandName="Pager" Text="下一页">[下一页]</asp:LinkButton><asp:LinkButton ID="btnLast" runat="server" CommandArgument="Last" OnCommand="NavigateToPage" CommandName="Pager" Text="尾 页" >[尾 页]</asp:LinkButton> <asp:TextBox ID=goCount runat="server" Width="50px"></asp:TextBox> <asp:Button ID="gobtn" runat="server" Text="go" OnClientClick="return validate();" OnClick="gobtnClick" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" width="98%" align="center" border="0"> <tr> <td> <uc1:SmartGridView ID="SmartGridView1" SkinID="blue" runat="server" PagingStyle="Default" CssClassMouseOver="grid_over" EnableViewState="False" AutoGenerateColumns="False" Width="100%" currentLanguage=""> <Columns> <asp:TemplateField> <headertemplate> <asp:checkbox id="HeadCheckBox" runat="server" /> </headertemplate> <itemtemplate> <asp:checkbox id="checkitem" runat="server" __designer:wfdid="w1"></asp:checkbox> </itemtemplate> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" width="5px" cssclass="tdcell" /> </asp:TemplateField> <asp:BoundField DataField="USER_Account" HeaderText="用户帐号" SortExpression="USER_Account"> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" cssclass="tdcell" /> </asp:BoundField> <asp:BoundField DataField="USER_DspName" HeaderText="显示名称" SortExpression="USER_DspName"> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" cssclass="tdcell" /> </asp:BoundField> <asp:BoundField DataField="USER_DspEngName" HeaderText="英文名" SortExpression="USER_DspEngName" > <headerstyle cssclass="tdcell" /> <itemstyle cssclass="tdcell" horizontalalign="Center" /> </asp:BoundField> <asp:BoundField DataField="USER_HRID" HeaderText="员工号" SortExpression="USER_HRID" > <headerstyle cssclass="tdcell" /> <itemstyle cssclass="tdcell" horizontalalign="Center" /> </asp:BoundField> <asp:BoundField DataField="USER_Email" HeaderText="邮件地址" SortExpression="USER_Email"> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" cssclass="tdcell" /> </asp:BoundField> <asp:BoundField DataField="USER_Title" HeaderText="职 称" SortExpression="USER_Title"> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" cssclass="tdcell" /> </asp:BoundField> <asp:BoundField DataField="USER_Tel" HeaderText="电 话" SortExpression="USER_Tel"> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" cssclass="tdcell" /> </asp:BoundField> <asp:BoundField DataField="USER_Active" HeaderText="是否有效" SortExpression="USER_Active"> <headerstyle cssclass="tdcell" /> <itemstyle horizontalalign="Center" cssclass="tdcell" /> </asp:BoundField> <asp:BoundField DataField="USER_Major" HeaderText="专业" SortExpression="USER_Major" > <headerstyle cssclass="tdcell" horizontalalign="Center" /> <itemstyle cssclass="tdcell" horizontalalign="Center" /> </asp:BoundField> </Columns> <HeaderStyle CssClass="thHead" /> <FixRowCol TableHeight="" TableWidth="" /> <RowStyle CssClass="tdcell" /> </uc1:SmartGridView> </td></tr> </table> </div> </form> </body> </html> 。
最后此篇关于asp.net 源码保存 用程序分页的文章就讲到这里了,如果你想了解更多关于asp.net 源码保存 用程序分页的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我尝试根据表单元素的更改禁用/启用保存按钮。但是,当通过弹出按钮选择更改隐藏输入字段值时,保存按钮不受影响。 下面是我的代码。我正在尝试序列化旧的表单值并与更改后的表单值进行比较。但我猜隐藏的字段值无
我正在尝试保存模型的实例,但我得到了 Invalid EmbeddedDocumentField item (1) 其中 1 是项目的 ID(我认为)。 模型定义为 class Graph(Docum
我有一个非常奇怪的问题......在我的 iPhone 应用程序中,用户可以打开相机胶卷中的图像,在我的示例中 1920 x 1080 像素 (72 dpi) 的壁纸。 现在,想要将图像的宽度调整为例
目前,我正在使用具有排序/过滤功能的数据表成功地从我的数据库中显示图像元数据。在我的数据表下方,我使用第三方图像覆盖流( http://www.jacksasylum.eu/ContentFlow/
我的脚本有问题。我想按此顺序执行以下步骤: 1. 保存输入字段中的文本。 2. 删除输入字段中的所有文本。 3. 在输入字段中重新加载之前删除的相同文本。 我的脚本的问题是 ug()- 函数在我的文本
任何人都可以帮助我如何保存多对多关系吗?我有任务,用户可以有很多任务,任务可以有很多用户(多对多),我想要实现的是,在更新表单中,管理员可以将多个用户分配给特定任务。这是通过 html 多选输入来完成
我在 Tensorflow 中训练了一个具有批归一化的模型。我想保存模型并恢复它以供进一步使用。批量归一化是通过 完成的 def batch_norm(input, phase): retur
我遇到了 grails 的问题。我有一个看起来像这样的域: class Book { static belongsTo = Author String toString() { tit
所以我正在开发一个应用程序,一旦用户连接(通过 soundcloud),就会出现以下对象: {userid: userid, username: username, genre: genre, fol
我正在开发一个具有多选项卡布局的 Angular 7 应用程序。每个选项卡都包含一个组件,该组件可以引用其他嵌套组件。 当用户选择一个新的/另一个选项卡时,当前选项卡上显示的组件将被销毁(我不仅仅是隐
我尝试使用 JEditorPane 进行一些简单的文本格式化,但随着知识的增长,我发现 JTextPane 更容易实现并且更强大。 我的问题是如何将 JTextPane 中的格式化文本保存到文件?它应
使用 Docker 相当新。 我为 Oracle 11g Full 提取了一个图像。创建了一个数据库并将应用程序安装到容器中。 正确配置后,我提交了生成 15GB 镜像的容器。 测试了该图像的新容器,
我是使用 Xcode 和 swift 的新手,仍在学习中。我在将核心数据从实体传递到文本字段/标签时遇到问题,然后用户可以选择编辑和保存记录。我的目标是,当用户从 friendslistViewCon
我正在用 Java 编写 Android 游戏,我需要一种可靠的方法来快速保存和加载应用程序状态。这个问题似乎适用于大多数 OO 语言。 了解我需要保存的内容:我正在使用策略模式来控制我的游戏实体。我
我想知道使用 fstream 加载/保存某种结构类型的数组是否是个好主意。注意,我说的是加载/保存到二进制文件。我应该加载/保存独立变量,例如 int、float、boolean 而不是结构吗?我这么
我希望能够将 QNetworkReply 保存到 QString/QByteArray。在我看到的示例中,它们总是将流保存到另一个文件。 目前我的代码看起来像这样,我从主机那里得到一个字符串,我想做的
我正在创建一个绘图应用程序。我有一个带有 Canvas 的自定义 View ,它根据用户输入绘制线条: class Line { float startX, startY, stopX, stop
我有 3 个 Activity 第一个 Activity 调用第二个 Activity ,第二个 Activity 调用第三个 Activity 。 第二个 Activity 使用第一个 Activi
我想知道如何在 Xcode 中保存 cookie。我想使用从一个网页获取的 cookie 并使用它访问另一个网页。我使用下面的代码登录该网站,我想保存从该连接获得的 cookie,以便在我建立另一个连
我有一个 SQLite 数据库存储我的所有日历事件,建模如下: TimerEvent *Attributes -date -dateForMark -reminder *Relat
我是一名优秀的程序员,十分优秀!