ASP.Net常见技术疑难解析(一)
2008-12-04 22:10
337 查看
Repeater控件的使用
Repeater控件是ASP.Net数据呈现的重要控件之一,当我们把控件拖到界面时,控件内什么也没有,一切都等待我们去手动创建,这样虽然有点费事,但正是因为"一张白纸好画画",Repeater控件在数据呈现时的自由度和灵活性也是最好的.它甚至允许我们在Header模板及Footer模板中使用诸如Repeater 控件没有内置的选择功能和编辑支持。但可以使用 ItemCommand 事件来处理从模板引发到该控件的控件事件。
Repeater 控件提供两个属性以支持数据绑定。若要将数据绑定到实现 System.Collections.IEnumerable 接口(如 System.Data.DataView、System.Collections.ArrayList、System.Collections...Hashtable 或数组)或 IListSource 接口的任意对象,请使用 DataSource 属性指定数据源。在设置 DataSource 属性时,必须手动编写代码才能执行数据绑定。若要将 Repeater 控件自动绑定到由数据源控件表示的数据源,请将 DataSourceID 属性设置为要使用的数据源控件的 ID。在设置 DataSourceID 属性时,Repeater 控件自动绑定到第一个请求上指定的数据源控件。因此,除非更改了 Repeater 控件的与数据相关的属性,否则不必显式调用 DataBind 方法。
GridView控件中如何实现列的格式化显示及汇总计算
在.Net 1.0的时候,有DataGrid控件可以在ItemDataBound事件中编写脚本,实现列的格式化显示及汇总计算.而到了2.0时代,GridView控件基本代替了DataGrid控件,GridView控件不仅可以轻松实现原来DataGrid控件的数据呈现效果和功能,还可以非常方便的实现分页,排序等DataGrid控件中需要编写大量代码才能实现的功能.格式化显示数据:GridView控件允许我们编辑列的属性.其中的DataFormatString可以控制数据显示的格式.如"{0:c}"表示以货币的标准格式显示数据,"{0:d}"表示以短日期格式显示日期;也可以在RowDataBound事件中实现数据的格式化.具体如下代码.
汇总计算:要实现对列的汇总计算,必须逐项相加取累加值,我们可以利用RowDataBound事件逐行处理.呈现 GridView 控件之前,该控件中的每一行必须绑定到数据源中的一条记录。将某个数据行(用 GridViewRow 对象表示)绑定到 GridView 控件中的数据以后,将引发 RowDataBound 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时就执行一个自定义例程(如修改绑定到该行的数据的值)。GridViewRowEventArgs 对象将传递给事件处理方法,以便您可以访问正在绑定的行的属性。若要访问行中的特定单元格,请使用 GridViewRowEventArgs 对象的 Row 属性中包含的 GridViewRow 对象的 Cells 属性。使用 RowType 属性可确定正在绑定的是哪一种行类型(标题行、数据行等等)。具体代码如下:
if (e.Row.RowType == DataControlRowType.DataRow)
{
total += Double.Parse(e.Row.Cells[2].Text);//汇总计算
e.Row.Cells[2].Text = string.Format("{0:c}", Convert.ToDouble(e.Row.Cells[2].Text)); //格式化显示
}
if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[0].Text = "总计:";
e.Row.Cells[2].Text = string.Format("{0:c}", total);
}
数据源控件中参数值的源
数据源控件需要使用参数值来指定需要选择哪些数据,或者指定如何修改数据以及修改什么数据。通常情况下,页面包含一些 UI,以定义那些必须在选择操作中使用的参数,而数据绑定控件提供了参数值来进行插入、更新和删除操作。Parameter 基类代表一个通用参数。Microsoft Visual Studio 2005 提供了诸如 QueryStringParameter 之类的参数,以便将数据从查询字符串参数请求到数据源中。另一个非常有用的参数是 ControlParameter,该参数允许从任一控件属性中请求数据。如果内置参数类型不能满足您的要求,则您可以定义自己的参数类型。这样您就可以使页面与粘接代码不相关,而是将该代码整齐地封装在参数实现中。
除了从不同的源中请求值,这些参数还可以跟踪值的更改情况,并通知这些更改的所属数据源,进而引发数据源更改通知,最终在数据绑定控件中触发数据绑定操作。简而言之,这就是使用 ControlParameters 时,主要的声明性详细方案所依据的原理。
相关文章推荐
- ASP.Net常见技术疑难解析(三)
- ASP.Net常见技术疑难解析(一)
- ASP.Net常见技术疑难解析(三)
- ASP.Net常见技术疑难解析(四)
- ASP.Net常见技术疑难解析(二)
- ASP.Net常见技术疑难解析(二)
- ASP.Net常见技术疑难解析(四)
- asp.net: GridView相关技术(二--重要事件解析)
- 一起谈.NET技术,ASP.NET缓存全解析6:数据库缓存依赖
- JSP简介以及常见动态网站开发技术(Asp.net、Php、Jsp)
- [ASP.net教程]WPF外包技术分享—WPF的MVVM架构解析(分享)
- YbSoftwareFactory 代码生成插件【九】:基于JQuery、WebApi的ASP.NET MVC插件的代码生成项目主要技术解析
- 基于JQuery、WebApi的ASP.NET MVC插件的代码生成项目主要技术解析
- 转:基于ASP.NET的Comet长连接技术解析
- 基于ASP.NET的Comet长连接技术解析
- 上周技术关注:ASP.NET常见参考项目分析
- 一起谈.NET技术,ASP.NET缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman
- 基于ASP.NET的Comet长连接技术解析
- 庖丁解牛-Asp.net 3.5控件和组件开发技术一常见问题及书中问题纠正贴
- 基于 Asp.Net的 Comet 技术解析