十天学会ASP.net之第八天

asp.net

学习目的:初步掌握DATAGRID的使用

以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。

首先看一下DATAGRID的样式方面的属性
BackImageUrl="" 背景图片
CellSpacing="" 单元格间距
CellPadding="" 单元格填充
cssClass="" 使用的CSS样式

DATAGRID可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。

下面看一下显示数据库内所有记录,就几行代码:

<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection);
objConnection.Open();
dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain就是下面的DATAGRID的ID
dgrdMain.DataBind();
objConnection.Close();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
runat="server"
/>
</body>
</html>

至于VB的版本,这次大家自己来试试吧:)

假设数据库是三个字段:id,aa,bb
显示的样子就如下:

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的分页显示等功能

时间: 2024-12-21 02:54:22

十天学会ASP.net之第八天的相关文章

菜鸟十天学会ASP教程之第八天:修改记录

教程|十天学会 上一节:删除记录 学习目的:学会数据库的基本操作--修改记录 先来看代码:(存为exam8.asp就可以了) <%set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")exec="

十天学会ASP

十天学会ASP之第一天 十天学会ASP之第二天 十天学会ASP之第三天 十天学会ASP之第四天 十天学会ASP之第五天 十天学会ASP之第六天 十天学会ASP之第七天 十天学会ASP之第八天 十天学会ASP之第九天 十天学会ASP之第十天

菜鸟十天学会ASP教程之第九天:Session组件

session|教程|十天学会 上一节:修改记录 学习目的:基本的SESSION组件,总结response,request组件. 首先,有会员系统的任何程序都会用到检测是不是用户已经登陆这个步骤.这就用到了SESSION组件,下面我们 看一个代码来说明. <%session("login")="yes"%> 这句话的意思就是在session里面定义一个login字符串变量,值为"yes",直接可以赋值,不需要声明.是不是很简单? 如果

十天学会ASP.net之第一天

asp.net 我认为ASP.NET比ASP难很多,希望大家做好准备.难难在实现同一个效果有很多方法,大家或许会疑惑.十天学会系列教程会清晰的写出各种方法,让大家能少一点坎坷.在ASP里面,大家几乎都是使用VB,数据库嘛,也无非是SQL和ACCESS.在ASP.NET里面,数据库还是这两个但是常用的语言多了一个C#,也是微软推荐的语言,为.NET平台定制的语言.这样ASP.NET就有四种组合:VB+ACCESS,VB+SQL,C#+ACCESS,C#+SQL,本教程会使用C#+ACCESS,兼顾

十天学会ASP.net之第十天

asp.net 学习目的:学会SESSION和COOKIE的使用 在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSION和COOKIE.在ASP.NET中使用COOKIE比ASP中稍微麻烦一点,因为我们要申明变量. 首先看一下SESSION的使用,基本和ASP差不多写入一个SESSION: Session["username"])="aa"; --------------------------------------------------------

菜鸟十天学会ASP教程之第一天:安装调试ASP的环境

教程|十天学会 学习目的:安装调试ASP的环境,并且调试第一个简单的程序. 因为我们学ASP的目的就是想建立一个网站,那么一般习惯是建立的网站内所有文件应该同时放到一个文件夹中(当然这个文件夹中还可以按需要设置子文件夹!),所以在这里我在E盘建立一个myweb的文件夹. 首先来安装Windows 2000/XP自带的IIS作为服务器.在这里因为我的机器是XP所以所有截图都是XP下完成的. 控制面板-->>添加或删除程序. 然后是添加删除windows组件-选中IIS组件前面的勾,之后等待安装,

菜鸟十天学会ASP教程之第二天:表单传送变量

变量|教程|十天学会 上一节:安装调试ASP环境 学习目的:学会用表单元素向服务器传送变量,然后显示变量在客户端的浏览器. 首先,让我们来看一下表单元素. 点击这里请查看具体的表单标签的使用 表单元素要放在一个表单域里面,建立一个表单域.然后修改动作里面的文件为要接受这个表单变量的ASP文件.方法有两种,一种是POST,这个方法传送的变量不会在浏览器的地址栏里面显示,可以大批量传送数据:GET则是会在浏览器地址栏里面显示的,等一会举例子. 下面我们看一个表单元素. 文本域,这个是最基本的,传送的

菜鸟十天学会ASP教程之第四天:数据库的连接和读取

教程|十天学会|数据|数据库 上一节:数据库的建立 学习目的:掌握ACCESS数据库的连接和读取记录 首先还打开我们上一节课建立的数据库中的表,随便输入几条记录,如下图: 这节课学习的内容有一点枯燥,但是很重要.在这里不需要知道命令具体的运行情况,外面的很多书籍之所以不适合入门就是因为介绍了太多的理论知识,让初学者一头雾水. 下面开门见山,看两行代码: <% set conn=server.createobject("adodb.connection") conn.open &q

菜鸟十天学会ASP教程之第五天:写入记录

教程|十天学会 上一节:连接并读取数据库 学习目的:学会数据库的基本操作--写入记录 数据库的基本操作无非是:查询记录,写入记录,删除记录,修改记录. 今天我们先学习写入记录.先建立一个表单:(把下面文章保存为5.htm) <form name="form1" method="post" action="exa5.asp">name <input type="text" name="name&quo