仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 959|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之Asp.NET的DataGrid排序,挑选和分页

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:31:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
简单的说:.net只有微软一家在做的,微软也不允许别人跟他做相同的工具,所以他就把需要的工具全部封装在.net的平台上了;而java是公开了。asp.net|datagrid|分页|排序  
DataGrid是Asp.NET中的一个主要的控件,常常我们都将DataGrid做成可分页的和可排序的,偶然还必要加上选择功效。这些都是常常必要用到的办法,实际上是对照复杂的。
  计划思绪:
  为了便利起见,我们毗连SQLServer2000的NorthWind数据库的Orders表,从数据库里失掉此表的数据视图。使用DataGrid的SortCommand事务完成排序。用一个模板列加上CheckBox控件完成选择。可用DataGrid的属性天生器的“分页”选项大概本人修正HTML完成分页。
  HTML:
  增加一个DataGrid,定名为dgOrder。
  增加了一个模板列,模板列里放一个名为Cb的CheckBox控件。此列用来完成选择
  为要排序的每一个列加上排序表达式SortExpression。
  使用列的DataFormatString来格局化列,象DataFormatString="{0:d}"显现日期格局。
  设置PageSize="15"每页显现15行数据,AllowPaging="True"为同意分页。
  ield="orderid"SortExpression="orderid"HeaderText="ID">  
  背景类增加以下代码:


ImportsSystem.Data.SqlCl
ient

  失掉数据视图,参数为要排序的列

  PrivateFunctionGetDv(ByValstrSortAsString)AsDataView

  界说数据库毗连

  DimdvAsDataView

  DimCNAsNewSqlConnection()

  Try

  初始化毗连字符串

  CN.ConnectionString="datasource=pmserver;initialcatalog=Northwind;persistsecurityinfo=False;userid=sa;Pass
word=sa;"

  CN.Open()

  从NorthWind失掉orders表的数据

  DimadpAsSqlDataAdapter=NewSqlDataAdapter("select*fromorders",CN)

  DimdsAsNewDataSet()

  adp.Fill(ds)

  失掉数据视图

  dv=ds.Tables(0).DefaultView

  CatchexAsException

  #IfDEBUGThen

  Session("Error")=ex.ToString()

  Response.Redirect("../error.aspx")跳转程序的大众毛病处置页面

  #EndIf

  Finally

  封闭毗连

  CN.Close()

  EndTry

  排序

  dv.Sort=strSort

  Returndv

  EndFunction

  PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

  IfNotIsPostBackThen

  ViewState("strSort")="orderid"

  dgOrder.DataSource=GetDv(ViewState("strSort").ToString())

  dgOrder.DataBind()

  EndIf

  EndSub

  排序

  PrivateSubdgOrder_SortCo
mmand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridSortCommandEventArgs)HandlesdgOrder.SortCommand

  dgOrder.CurrentPageIndex=0

  失掉排序的列

  ViewState("strSort")=e.SortExpression.ToString()

  dgOrder.DataSource=GetDv(ViewState("strSort").ToString())

  dgOrder.DataBind()

  EndSub

  分页

  PrivateSubdgOrder_PageIndexChanged(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridPageChangedEventArgs)HandlesdgOrder.PageIndexChanged

  失掉分页的页号

  dgOrder.CurrentPageIndex=e.NewPageIndex

  dgOrder.DataSource=GetDv(ViewState("strSort").ToString())

  dgOrder.DataBind()

  EndSub

  运转了局以下图所示:(点击列标头能够排序)



  为了晓得用户选择的是哪些纪录,我们能够使用DataGridItem的FindControl失掉CheckBox的值,我们来增加一个按钮,再写以下代码: 

  PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click  

  DimitemAsDataGridItem 

  DimStrScriptAsString  

  StrScript=""

  RegisterClientScriptBlock("体系动静",StrScript)

  EndSub

  下面的代码RegisterClientScriptBlock增加JavaScript剧本弹出对话框。(实在VbScript的对话框比JavaScript的对话框多更多的显现和把持体例,但Netscape的扫瞄器不撑持,人人可依据响应的项目在程序里选择用哪一种剧本)。

  

  总结:

  DataGrid是我们经常使用的Web控件,偶然我们还能够和DataList夹杂利用,经由过程修正HTML页,能够到达好的页面效果。下面只是一个例子,为了便于分明全部历程,我把数据会见部分(SQL)写到了页面中。在软件开辟中,我们一样平常把会见数据的部分写成数据层,页面挪用数据层失掉数据,如许逻辑明晰,修正和保护都很便利。如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具)
柔情似水 该用户已被删除
沙发
发表于 2015-1-18 23:07:46 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
若相依 该用户已被删除
板凳
发表于 2015-1-23 22:51:44 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
莫相离 该用户已被删除
地板
发表于 2015-1-31 20:29:13 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-6 22:37:49 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
只想知道 该用户已被删除
6#
发表于 2015-2-19 00:35:01 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
admin 该用户已被删除
7#
发表于 2015-3-6 11:48:05 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-13 00:31:05 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 06:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表