2013年7月3日

11.单独页面编辑

摘要: ListView的在位编辑只适合字段比较少、比较简单的场合,复杂数据的编辑、插入、查看等要在单独页面中才可创建一个单独的页面Edit***.aspx,然后在ListView页面中的编辑模板中放一个编辑的超连接,向Edit***.aspx传递?id=1&action=edit.页面顶端增加一个Edit***.aspx?action=addnew的超连接。使用FormView控件进行单条数据的编辑,在Page_Load中判断action,然后使用FormView1.ChangeMode方法切换FormView的模式。强类型DataSet中增加一个GetDataByID方法,在ObjectD 阅读全文

posted @ 2013-07-03 17:21 天上星 阅读(355) 评论(0) 推荐(0) 编辑

10.高效分布

摘要: ListView默认的分页是先从数据源取得所有数据,然后再截取当前页面的部分,在数据量非常大的情况下效率非常低,因此默认的分布基本不能用。应该是只从数据源取得要显示的数据即可。SQL中语句中取得分页数据的方法为:Select * ,ROW_NUMBER() over(order by 排序字段) as rownum From Table. ROW_NUMBER()函数是SQL2005之后提供的一个计算结果集行数的函数,over中指定排序规则,Row_Number()从1开始。只是把数据中的记录从1排序。SQL语句可以这样排序:Select * from (Select id,name,age, 阅读全文

posted @ 2013-07-03 16:45 天上星 阅读(410) 评论(0) 推荐(0) 编辑

9.DataPager

摘要: ListView搭配DataPager控件实现分页。有两种使用方式:一是将DataPager声明到ListView中;一种是DataPager\ListView没有嵌套关系,然后将DataPager的PagedControlID设定为要分页的ListView. 这两种没什么区别,一般用"配置ListView"自动生成的内置方式即可。DataPager的PageSize属性为一页的条数。(*)实现IPageableItemContainer接口的控件都可以使用DataPager进行分页,但是ASP.net内置的控件目前只有ListView实现了这个接口。DataPager 中 阅读全文

posted @ 2013-07-03 16:02 天上星 阅读(355) 评论(0) 推荐(0) 编辑

8.行命令按钮

摘要: ListView的行按钮和Repeater一样,不同的是取当前行数据的方式,int index=((ListViewDataItem)e.Item).DisplayIndex取出操作行的行号,ListView1.DataKeys[index].Value取出主键的值,如果对数据进行了操作,最后要对ListView执行DataBind刷新数据,由ListView的DataKeynames属性决定存储哪些字段值为主键,可以多个主键(和数据库主键没有直接关系),所有有Values.排序:将LayoutTemplate中的表头用代替,其中CommandArgument的值为排序字段。只要是Comman 阅读全文

posted @ 2013-07-03 14:32 天上星 阅读(484) 评论(0) 推荐(0) 编辑

7.DropDownList的绑定

摘要: ListView中是无法像TextBox等控件那样将DropDownList的选中值绑定到数据字段的,必须编程处理。如例子:人员的性别(男,女,保密),三个值固定写在DropDownList中。在显示数据的时候DropDownList显示数据的值,在ItemTemplate中加入DropDownList,设定DropDownList的Enabled='false',这样就是只读的。在ItemDataBound事件中e.Item.FindControl()来找到DropDownList控件,然后ListViewDataItem lvDataItem=(ListViewDataIt 阅读全文

posted @ 2013-07-03 14:13 天上星 阅读(174) 评论(0) 推荐(0) 编辑

6.ListView

摘要: Repeater一般只用来展示数据,如果要增删改则用ListView更方便,使用向导(强类型数据)来使用ListView会自动生成很多模板,免去手写模板代码的麻烦,再进行手工调整即可。首先设定数据源,然后点击智能提示中的“配置ListView”,选择一种布局和样式,然后根据需要勾选“启用编辑”、"启用删除”、“启用插入”、“启用分页”,就会自动生成常用的模板,注意,这只是提高效率的一个方式并不 是唯一选择。LayoutTemplate为布局模板,布局模板中必须有一个ID为itemPlaceholder的服务端控件(4.0后不需要).什么类型无所谓,不会被显示,itemPlacehol 阅读全文

posted @ 2013-07-03 13:50 天上星 阅读(509) 评论(0) 推荐(0) 编辑

导航