asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

十天学会ASP.net之第八天


发布日期:2022年05月24日
 
十天学会ASP.net之第八天

学习目的初步掌握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的分页显示等功能

上一篇:ASP.NET入门教程 9.2.2 判断[4]

下一篇:十天学会ASP.net之第九天