快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

10天学会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
显示的样子就如下:
idaabb
1werwerewrwe
2werwerewrwe

     我们一定觉得这种显示不满足,我们有两种显示的方法(需要包括在<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两个字段放在一个单元格内显示,就似乎下面相同: 
1werwe
rewrwe 
2werwe
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创建XML Web服务全接触(2)
下一教程: asp.net高级教程(四)-实战篇

您可以阅读与"10天学会ASP.net之第八天"相关的教程:
· 10天学会ASP.net之第二天
· 10天学会ASP.net之第六天
· 10天学会ASP.net之第四天
· 10天学会ASP.net之第十天
· 10天学会ASP.net之第九天
    微笑服务 优质保证 索取样品