在微软的免费ASP.Net开发工具ASP.Net WebMatrix中我们可以轻松的在datagrid中使用模板列来对数据进行显示。
本例使用到SQL Server2000自带的pubs数据库。
首先,打开ASP.Net WebMatrix建立一个新文件,类型选择“DATA PAGES”中的“Simple Data Report”,然后切换到CODE视图,默认的数据库连接字符串为:
Dim ConnectionString As String ="server=(local);database=pubs;trusted_connection=true"
改为:
Dim ConnectionString As String ="server=(local);database=pubs;uid=sa;pwd=sa"
然后换回Design视图,选中datagrid,然后点击右边工具栏中的“属性生成器”(如图)
进入“属性生成器”之后选择列,将“运行时自动生成列”选项去掉,然后添加一个“超级链接列”到“选定的列”之中。在hyperlinkcolumn属性的“文本字段”中填入City(这是pubs数据库中的一个字段,这里我们拿它做演示),再点击下面的“将此列转换为模板列”。然后转向“常规”属性页,将“显示页眉”去掉。再转向“边框”属性页,将“网格线改为无”,点确定退出。接着进入“自动套用格式”属性框,移除自动套用格式,这样基本上从外观看不出datagrid的影子了。
这里我们假设是点击city而链接到list.aspx?city=城市名的页面,呵呵,有点像新闻的链接一样,其实原理都一样。
切换到HTML视图,开发工具已经帮我们生成了基本的模板代码:
1<asp:templatecolumn>
2<itemtemplate>
3<asp:hyperlink runat="server" text='```
4# DataBinder.Eval(Container, "DataItem.city")
5```'></asp:hyperlink>
6</itemtemplate>
7</asp:templatecolumn>
要加入链接我们需要手工加入代码,再加入一些修饰效果:
1<asp:templatecolumn>
2<itemtemplate>
3<img src="xxx.gif"/>
4<asp:hyperlink navigateurl='```
5# "list.aspx?city="&amp; DataBinder.Eval(Container, "DataItem.city")
6```' runat="server" target="_blank" text='```
7# DataBinder.Eval(Container, "DataItem.city")
8```'></asp:hyperlink>
9</itemtemplate>
10</asp:templatecolumn>
这样的话,点击运行页面,已经可以看到效果。 (是不是看不出datagrid的原始风格了?)
本文只是介绍了ASP.Net WebMatrix的一方面使用方法,只要你想象更丰富一定可以通过模板列将datagrid改造的更加完美。
注:文中使用操作数据库的SQL语句为系统自动生成,没有进行更改。