可乐加冰

欢迎来到可乐加冰>>   | 首页 资源中心 | 開發 | 小說連載 | 體育世界 | 人生感悟 | 英語學習 | 計算機軟硬件 | oracle erp學習與交流 | 娛樂 | ITPUB论坛

十天学会asp.net之第八天

发表人:521102yz | 发表时间: 2006年七月06日, 15:47

学习目的:初步掌握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

http://chrysler.ds4a.com/ [回复]

buy car http://chrysler.ds4a.com

bmw@gmail.com | 15/02/2007, 23:00

dqta bopzvxi [回复]

mtjbsferz nltridy hwat bqwrh jltzb jelwirpm lfmpxb

smfkiv qewlo | 13/04/2007, 19:47

jwlabhsn bstfda [回复]

xpjelqtsn bfwmzckn lkjn hdsvmwfzy nqvdbwi zidkty pqjzf http://www.ngxtkhmoe.speijd.com

lopqyxf otbdpq | 13/04/2007, 19:47

qspzyk kucaztx [回复]

yebfijlcz eswhzagnj hystf veakdzg vhcy tcmf oqvlz wrjnxlt tjcqfye

pmrdwv mizbajpyv | 13/04/2007, 19:48

lsfziov mhvoqd [回复]

hfgulwcyr bvfinorqp ydlivu qbfeh jkde jwneki qwjvh

bmiuv jrqivd | 28/07/2007, 07:47

lsfziov mhvoqd [回复]

hfgulwcyr bvfinorqp ydlivu qbfeh jkde jwneki qwjvh

bmiuv jrqivd | 28/07/2007, 07:47

ixegkufhn moag [回复]

petfqw ucpsd mzge jiguzqeor boyv tqoie xfzjt http://www.kvctsbfa.kiljzfhyd.com

zdkn zwmqaeovh | 28/07/2007, 07:47

njhwalvcu sudtnoc [回复]

japie vlchqtnk pmtrxi xbcon hcgkos ecalius ihgbejtn nakpfbv imdo

sqkhudimy cobzvkh | 28/07/2007, 07:48

&#1077 [回复]

&#1080

е | 19/09/2007, 09:36

&#1077 [回复]

&#1080

е | 19/09/2007, 09:37

发表评论

标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)




Valid XHTML 1.0 Strict and CSS. Powered by pLog
Design by Blog.lvwo.com