惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - LiShijin.Net

即刻完成你的ASP.NET程序 ASP.NET 2.0,无刷新页面新境界! ASP.NET四种页面导航方式之比较与选择 十天学会ASP.net之第十天 - LiShijin.Net - 博客园 十天学会ASP.net之第九天 - LiShijin.Net - 博客园 十天学会ASP.net之第七天 十天学会ASP.net之第六天 十天学会ASP.net之第五天 - LiShijin.Net - 博客园 用ASP.NET加密Cookie数据 Bill Gates 的大学毕业典礼演讲 asp.net图书请教 .NET程序设计之四书五经 驻留多个 Web 应用程序 确保 ASP.NET 应用程序和 Web Services 的安全 检查表:保护 ASP.NET 的安全 构建安全的 ASP.NET 网页和控件 如何利用窗体身份验证创建 GenericPrincipal 对象 在asp.net中为Web用户控件添加属性和事件 WindowsForm登陆窗体的建立
十天学会ASP.net之第八天 - LiShijin.Net - 博客园
LiShijin.Net · 2004-08-11 · via 博客园 - LiShijin.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的分页显示等功能
http://blog.csdn.net/byebye8742/archive/2004/02/02/19500.aspx