学习目的初步掌握DATAGRID的使用
以前在ASP中我们显示大批量数据经常使用循环读取记录集的方式在表格中插入代码来显示循环的是<tr>如果是分页还需要自己制作如果排序更加复杂在ASPNET中就好了一切工作都可以让DATAGRID来做
首先看一下DATAGRID的样式方面的属性
BackImageUrl= 背景图片
CellSpacing= 单元格间距
CellPadding= 单元格填充
cssClass= 使用的CSS样式
DATAGRID可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义用ShowHeader=true/false来控制是不是显示在大多数情况下我们是不需要这个功能的因为我们数据库中的字段名大多是英文的而我们想在页面输出的大多是中文名字
下面看一下显示数据库内所有记录就几行代码
<script runat=server language=c#>
void Page_Load()
{
string strConnection=Provider=MicrosoftJetOleDb;Data Source=;
strConnection+=ServerMapPath(guestbookmdb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand(select * from guestbookobjConnection);
objConnectionOpen();
dgrdMainDataSource=objCommandExecuteReader();//dgrdMain就是下面的DATAGRID的ID
dgrdMainDataBind();
objConnectionClose();
}
</script>
<html>
<body>
<asp:DataGrid
id=dgrdMain
cellpadding=
showheader=true
borderwidth=
runat=server
/>
</body>
</html>
至于VB的版本这次大家自己来试试吧
假设数据库是三个字段idaabb
显示的样子就如下
id aa bb
werwe rewrwe
werwe rewrwe
我们一定觉得这种显示不满意我们有两种显示的方式(需要包括在<columns></columns>中间)
一默认的列我们可以选择不输出所有的字段还可以安排顺序
<asp:BoundColumn DataField=想要显示的字段名>
比如说我们想按照bbaa来输出这个表我们这么写
<asp:DataGrid
id=dgrdMain
cellpadding=
showheader=true
autogeneratecolumns=false
borderwidth=
runat=server>
<columns>
<asp:boundcolumn datafield=bb/>
<asp:boundcolumn datafield=bb/>
</columns>
</asp:datagrid>
注意使用了autogeneratecolumns=false以后DATAGRID就不会自动输出所有字段了
二以模板列我们可以定制每一个单元格的样式
<asp:TemplateColumn>
<itemTemplate>
中间是一个表格想怎么样就怎么样
</itemTemplate>
</asp:DataGrid>
或许你们要说怎么在表格中输出代码那可以使用<%# DataBinderEval(ContainerDataItem字段名)ToString()%>
下面看一个例子我们所要做的就是把aabb两个字段放在一个单元格内显示就好像下面一样
werwe
rewrwe
werwe
rewrwe
我们这样写代码
<asp:DataGrid
id=dgrdMain
cellpadding=
showheader=false
autogeneratecolumns=false
borderwidth=
runat=server>
<columns>
<asp:boundcolumn datafield=ii/> 首先使用默认的显示方式显示ID
<asp:TemplateColumn> 再使用模板来显示后面一列(由AABB并列组成)
<itemTemplate>
<table border= cellspacing= cellpadding= width=%>
<tr>
<td><%# ContainerDataItem(aa)%></td>
</tr>
<tr>
<td><%# ContainerDataItem(bb)%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid>
今天就说到这里明天我们来看一下DATAGRID的分页显示等功能