在往下进行前我们下来讨论下Asp.net的特性,对于Asp.net微软为我们封装了众多的控件,将控件拖拽到页面上就可以使用控件进行编程,而且值得称道的是有些封装良好的控件可以可视化的设置,然后就可以直接开发使用,就正如今天要说的ListView控件。
ListView控件是功能最强大的数据绑定控件,它能够可视化的开发实现数据的基本操作增删改,另外还支持排序和分页,只不过其分页的效果必须配合DataPager控件。这种分页对于小数据量来说还是很高效的,但对于大数量来说它的效率就很低下了。
ListView是.net封装良好的控件,该控件是从.framework 3.5开始集成的,它的操作能够完全通过设计前台代码的方式来实现,能够通过可视化的设计窗口完成设计,并且在不编写后台代码的基础上完成开发。
对于下面示例中使用到的数据源我们使用SqlDataSource控件来绑定,在该控件中添加了增删改查语句,并在语句中指定了使用的参数。
在编辑时和DataList控件相同是在EditItemplate模板中定义需要的控件,当单击编辑按钮后将会跳转进入编辑界面。需要说明的是LayoutTemplate模板,在下面的示例中都使用了该模板,它里面的内容应该存放用户自定义的内容,即控件封装的功能以外的其它显示内容。
id
name
删除的实现时是在Itemplate模板中添加的删除命令来实现的,需要我们体现设计ListView控件的DatakeyNames属性指定控件的主键值,这样在SqlDataSource中使用的属性@id才能生效。
id
name
分页是在LayoutTemplate模板中添加的DataPager控件来实现的,所以可以通过修改DataPager的属性值来指定显示的导航的样式。
DataPager的Fields字项里来添加分页的标签,其中NextPreviousPagerField 控制按钮的导航,通过设置它的属性来显示第一页、上一页等的导航按钮,另外可通过设置NumericPagerField 来指定页数导航。
id
name
分组也是ListView控件的一大特色,把数据当做一个个的子集显示到控件上,就好像是分块显示一样,把一部分数据分到一个块中,另一部分分到另一个块中,可通过设置该控件的GroupItemCount来控制数据所分的组数。
另外在分组时需要在GroupTemplate模板中添加一个ID名称为itemPlaceholder的PlaceHolder控件,然后在LayoutTemplate模板中添加一个ID名称为groupPlaceholder的PlaceHolder控件,这样就能够简单的达到对数据分组的目的。
id:
name:
分组后的示例图:
有关数据绑定的控件已经讨论完成,让我们最后回过头来继续讨论下几种经常使用的数据绑定控件。
对于数据绑定控件来说Repeater控件是最基础的了,它因为最原始所以受到广大开发人员的喜爱,对有经验程序员来说在开发时往往采用Repeater,因为它使用灵活,稳定,不会产生恶意代码,并且效率高。
对比几种控件这就不得不说说另外.net平台的厉害之处,针对不同开发程度的人员封装了不同的开发控件,对于菜鸟级别的开发人员来说GridView和ListView应该是他们的首选,因为操作简单,只需要点几个按钮选几个选项就能实现强大的功能。另外对于老程序员来说习惯了编写代码,不敲代码手痒这时候首选当然是Repeater。不多对于学习人员来说还是推荐使用Repeater控件,因为它的功能少,而且灵活,得到学习的机会更多。
代码示例下载地址:ListViewDemo。
控件的基本使用已经讨论完成,对于每一个控件的讨论都经历了两个步骤,分别是基础和应用,其中应用部分是重点,通过应用把控件熟练掌握。这正是学习--思考--实践--总结很好的映射,另外提倡多去查阅MSDN,里面有详细的使用方法。