十天學會ASP.net之第八天
發表于:2007-09-07來源:作者:點擊數:
標簽:
首先看一下DATAGRID的樣式方面的屬性 BackImageUrl="" 背景圖片 CellSpacing="" 單元格間距 CellPadding="" 單元格填充 cssClass="" 使用的CSS樣式 DATAGRID可以自動用表中的字段名放在顯示的記錄的頭部來表示各個單元格所代表的意義,用ShowHeader="true/fa
首先看一下DATAGRID的樣式方面的屬性
BackImageUrl="" 背景圖片
CellSpacing="" 單元格間距
CellPadding="" 單元格填充
cssClass="" 使用的CSS樣式
DATAGRID可以自動用表中的字段名放在顯示的記錄的頭部來表示各個單元格所代表的意義,用ShowHeader="true/false"來控制是不是顯示,在大多數情況下我們是不需要這個功能的,因為我們
數據庫中的字段名大多是英文的,而我們想在頁面輸出的大多是中文名字?!?
下面看一下顯示數據庫內所有記錄,就幾行代碼:
?。約cript 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>
?。糱ody>
?。糰sp: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>中間):
一、默認的列,我們可以選擇不輸出所有的字段還可以安排順序:
?。糰sp:BoundColumn DataField="想要顯示的字段名">
比如說我們想按照bb,aa來輸出這個表,我們這么寫
?。糰sp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
?。糲olumns>
?。糰sp:boundcolumn datafield="bb"/>
?。糰sp:boundcolumn datafield="bb"/>
?。?columns>
?。?asp:datagrid>
注意使用了autogeneratecolumns="false"以后DATAGRID就不會自動輸出所有字段了?! ?
二、以模板列,我們可以定制每一個單元格的樣式:
?。糰sp:TemplateColumn>
?。糹temTemplate>
中間是一個表格,想怎么樣就怎么樣
?。?itemTemplate>
?。?asp:DataGrid>
或許你們要說怎么在表格中輸出代碼那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
下面看一個例子,我們所要做的就是把aa,bb兩個字段放在一個單元格內顯示,就好像下面一樣:
1 werwe
rewrwe
2 werwe
rewrwe
我們這樣寫代碼:
<%@import Namespace="System.Data"%> <%@import Namespace="System.Data.OleDb"%>
<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.DataBind(); objConnection.Close(); } </script>
<html>
<body>
<asp:DataGrid id="dgrdMain" cellpadding="1" showheader="false" autogeneratecolumns="false" borderwidth="1" runat="server"> <columns> <asp:boundcolumn datafield="ii"/> <asp:TemplateColumn> <itemTemplate> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td><%# DataBinder.Eval(Container,"Dataitem.aa").ToString()%></td> </tr><tr> <td><%# DataBinder.Eval(Container,"Dataitem.bb").ToString()%></td> </tr> </table> </itemTemplate> </asp:TemplateColumn> </columns> </asp:datagrid>
|
原文轉自:http://www.kjueaiud.com