十天学会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两个字段放在一个单元格内显示,就好像下面一样:
rewrwe
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的分页显示等功
关键词:ASP.net
相关阅读
- 03-14Windows2003企业版IIS6上配置asp.net4.0网站
- 03-02解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
- 12-09windows server 2003配置asp.net4.0网站找不到该页等问题解决方案
- 11-13IIS 6.0优化与asp.net的web.config配置优化
- 11-11asp.net网站在 Ngnix 服务器 中配置教程
- 09-19ASP.NET设置自定义401错误页面方法详解
- 02-28asp.net“服务器应用程序不可用"解决方法
- 05-30ASP.NET AJAX配置简述
- 05-30asp.net面试试题收集
- 05-30ASP.NET MVC在IIS6下部署技巧
阅读本文后您有什么感想? 已有 人给出评价!
用户评论
热门评论
最新评论
相关软件
热点图文
- 05-02解决方法:应用程序“DEFAULT WEB SITE”中的服务器错误
- 04-04“/”应用程序中的服务器错误及解决方法
- 05-30报错“HTTP/1.1 400 Bad Request”的处理方法
- 03-09aspx文件怎么打开,ASPX的文件用什么打开?
- 04-04System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 登录失败。
- 04-17如何重新装 .Net 2.0 注册到 IIS 上面
- 11-22aspx禁止跨站、禁止读取iis信息、禁止cmd命令执行
- 06-13ASP.NET MVC中你必须知道的13个扩展点
- 10-14安装 .Net Framework4 时出错,提示“一般信任关系错误”
- 09-10利用ajax.dll进行asp.net ajax开发