十天學會ASP.net之第八天
2005/3/18 11:22:08

學習目的:初步掌握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("

下一頁
返回列表
返回首頁 主站蜘蛛池模板: jjzz在线观看| 亚洲国产精品sss在线观看AV| 中文字幕人妻三级中文无码视频 | 国产综合成人久久大片91| 一本一道dvd在线播放器| 欧美日韩国产成人高清视频| 免费无码一区二区三区| 色天天躁夜夜躁天干天干| 国产日韩欧美视频在线| 777久久精品一区二区三区无码| 女人张开腿让男人做爽爽| 中文字幕乱码人妻无码久久| 日韩av第一页在线播放| 亚洲一区二区三区无码国产| 欧美精品xxxxbbbb| 亚洲视频你懂的| 精品久久久久久无码人妻| 国产av一区二区精品久久凹凸 | 拍拍拍无挡免费视频网站| 久久精品人人槡人妻人人玩| 欧美va亚洲va在线观看蝴蝶网| 亚洲最大黄色网站| 激情伊人五月天久久综合| 国产在线高清精品二区色五郎| 浮力影院亚洲国产第一页| 国产香蕉一区二区精品视频| 久久99国产精品久久99果冻传媒| 最新国产在线播放| 伊人色综合视频一区二区三区| 美团外卖chinesegayvideos| 国产乱女乱子视频在线播放| 高清无码视频直接看| 国产日韩欧美精品一区| 男女xx00动态图120秒| 国产视频福利一区| 97精品国产97久久久久久免费| 天堂а√在线中文在线新版| www夜插内射视频网站| 成人中文字幕一区二区三区| 中文字幕精品一二三四五六七八| 日本最新免费二区|