日期:2008-04-14 浏览次数:20582 次
第八天
学习目的:初步掌握DATAGRID的使用
以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。
id | aa | bb |
1 | werwe | rewrwe |
2 | werwe | rewrwe |
我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>中间):
一、默认的列,我们可以选择不输出所有的字段还可以安排顺序:
<ASP:BoundColumn DataField="想要显示的字段名">
比如说我们想按照bb,aa来输出这个表,我们这么写
<ASP:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<ASP:boundcolumn datafield="bb"/>
<ASP:boundcolumn datafield="bb"/>
</columns>
</ASP:datagrid>
注意使用了autogeneratecolumns="false"以后DATAGRID就不会自动输出所有字段了。
二、以模板列,我们可以定制每一个单元格的样式:
<ASP:TemplateColumn>
<itemTemplate>
中间是一个表格,想怎么样就怎么样
</itemTemplate>
</ASP:DataGrid>
或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样:
1 | werwe rewrwe |
2 | werwe rewrwe |
我们这样写代码:
<ASP:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="false"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<ASP:boundcolumn datafield="ii"/> 首先使用默认的显示方式显示ID
<ASP:TemplateColumn> 再使用模板来显示后面一列(由AA,BB并列组成)
<itemTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><%# Container.DataItem("aa")%></td>
</tr>
<tr>
<td><%# Container.DataItem("bb")%></td>
</tr>
</table>
</itemTemplate>
</ASP:DataGrid>
</columns>
</ASP:datagrid>
今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能