ASP.NET 網頁製作教本 – 從基本語法學起

Slides:



Advertisements
Similar presentations
1/67 美和科技大學 美和科技大學 社會工作系 社會工作系. 2/67 社工系基礎學程規劃 ( 四技 ) 一上一下二上二下三上 校訂必修校訂必修 英文 I 中文閱讀與寫作 I 計算機概論 I 體育 服務與學習教育 I 英文 II 中文閱讀與寫作 II 計算機概論 II 體育 服務與學習教育 II.
Advertisements

§ 3 格林公式 · 曲线积分 与路线的无关性 在计算定积分时, 牛顿 - 莱布尼茨公式反映 了区间上的定积分与其端点上的原函数值之 间的联系 ; 本节中的格林公式则反映了平面 区域上的二重积分与其边界上的第二型曲线 积分之间的联系. 一、格林公式 二、曲线积分与路线的无关性.
公司為社團法人 股東之人數 林宜慧 陳冠蓉. 公司之意義  根據公司法第一條規定 : 「本法所 稱公司,謂以營利為目的,依照 本法組織、登記、成立之社團法 人。」
專業科目必修 管理學概論、化 妝品行銷與管理、 專題討論、藥妝 品學、流行設計、 專題講座、時尚 創意造型與實務 專業科目必修 化妝品法規、生 理學、化妝品原 料學、化妝品有 效性評估、時尚 化妝品調製與實 務、藝術指甲、 生物化學概論、 美容經絡學、校 外實習 專業科目必修 應用色彩學、化 妝品概論、時尚.
聖若翰天主教小學 聖若翰天主教小學歡迎各位家長蒞臨 自行分配中一學位家長會 自行分配中一學位家長會.
認識食品標示 東吳大學衛生保健組製作.
第二十三章 皮肤附属器疾病 主讲 朱姗姗.
颞下颌关节常见病.
「健康飲食在校園」運動 2008小學校長高峰會 講題:健康飲食政策個案分享 講者:啟基學校-莫鳳儀校長 日期:二零零八年五月六日(星期二)
清代章回小說----儒林外史 製作群:侑桂、品希、萱容、怡靜、佩涓、凸凸.
致理科技大學保險金融管理系 實習月開幕暨頒獎典禮
☆ 104學年度第1學期 活動藏寶圖 ☆ II III IV V 找到心方向-談壓力調適 陳佩雯諮商心理師
營利事業所得稅查核準則 相關概念介紹 南區國稅局 新營分局 林俊標 各位學員大家好:
脊柱损伤固定搬运术 无锡市急救中心 林长春.
行政訴訟法 李仁淼 教授.
第一节 工业的区位选择 一、工业的主要区位因素 1、工业区位选择应注意的问题 2、影响工业布局的主要区位因素 3、不同工业部门的区位选择
XXX分析室组长竞聘 演讲人: XXX
結腸直腸腫瘤的認知.
經歷復活的愛 約翰福音廿一1-23.
第八章 DataGrid 與 DataTable 瀏覽器 DataTable DataGrid 存取 顯示表格 暑資碩三 房玄博 報告.
ASP.NET 網頁製作教本 – 從基本語法學起
大学英语教学在学分制教学的比重 类别 文科 理科 大学英语 《课程要求》 总学时 周学时 总学分
郭詩韻老師 (浸信會呂明才小學音樂科科主任)
如何培養你的道德風度? 什麼是公德心? 何謂自覺運動? 好心被雷劈?
《政府采购非招标采购方式管理办法》的理解与适用
學 號:997I0010、997I0024 組 員:洪韋鈴、王婷婷 日 期: 指導老師:王立杰 老師
第13章 FTP檔案上傳、 自動傳送 報告人 M9153314 李育旻.
務要火熱服事主.
通識教育科 單元三 現代中國 主題1:中國的改革開放 課題(四)︰ 中國的綜合國力及外交
富力地产销售一部 ——各项目广告策划案 ——
作业现场违章分析.
蒙福夫妻相处之道 经文:弗5:21-33.
基于课程标准的教学与评价: 政策执行讲评与后续要求
2. 戰後的經濟重建與復興 A. 經濟重建的步驟與措施 1.
好好學習 標點符號 (一) 保良局朱正賢小學上午校.
公司法(六) 股份有限公司 1.
快遞貨物常見之偽禁藥簡介與 通關注意事項 報告人:臺北關快遞機放組快遞一課 于志安 1.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
4. 聯合國在解決國際衝突中扮演的角色 C. 聯合國解決國際衝突的個案研究.
6.5滑坡 一、概述 1.什么是滑坡? 是斜坡的土体或岩体在重力作用下失去原有的稳定状态,沿着斜坡内某些滑动面(滑动带)作整体向下滑动的现象。
新陸書局股份有限公司 發行 第十九章 稅捐稽徵法 稅務法規-理論與應用 楊葉承、宋秀玲編著 稅捐稽徵程序.
Web Part與 個人化網頁製作 資策會教育訓練處 王寧疆 MCAD.NET/MCSD.NET/MCT
破漏的囊袋.
民法第四章:權利主體 法人 楊智傑.
Ch11 檔案上傳及電子郵件 WEB程式設計.
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
主 讲 教 师:陆有军 Web技术与应用 第六章 ADO.NET 主 讲 教 师:陆有军
第6章 ADO.NET数据访问接口 6.
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
主 讲 教 师:陆有军 Web技术与应用 第四章 内部对象 主 讲 教 师:陆有军
第3章 ASP.NET程序设计基础 3.
四年級 中 文 科.
第10章 網頁資料庫顯示與維護控制項 10-1 資料來源控制項 10-2 Repeater控制項 10-3 DataList控制項
聖本篤堂 主日三分鐘 天主教教理重温 (94) (此簡報由聖本篤堂培育組製作).
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
聖誕禮物 歌羅西書 2:6-7.
第 10 章 ADO.NET與XML.
「傳心傳意 2003」 工商機構創意義工服務計劃比賽 計劃主題 : ( I ) 減少廢物 ( II ) 節省能源 ( III ) 愛護大自然
圣依纳爵堂 主日三分钟 天主教教理重温 (95) (此简报由香港圣本笃堂培育组制作).
依撒意亞先知書 第一依撒意亞 公元前 740 – 700 (1 – 39 章) 天主是宇宙主宰,揀選以民立約,可惜他們犯罪遭
基督是更美的祭物 希伯來書 9:1-10:18.
明愛屯門馬登基金中學 中國語文及文化科 下一頁.
經文 : 創世紀一章1~2,26~28 創世紀二章7,三章6~9 主講 : 周淑慧牧師
圣经概論 09.
Presentation transcript:

ASP.NET 網頁製作教本 – 從基本語法學起 第 8 章 DataGrid 與 DataTable

8-1 DataTable 的資料結構

DataTable 的資料結構

DataTable 的建構:開啟資料庫

Table01.aspx Part I <!-- #include File="Mdb.vb" --> <Html>   <Html> <Body BgColor="White"> <H3>DataTable的建構:開啟資料庫<HR></H3> <asp:Label runat="server" id="Msg" /><p> <HR></Body> </Html>

Table01.aspx Part II <script Language="VB" runat="server">   Sub Page_Load(sender As Object, e As EventArgs) Dim Table As System.Data.DataTable Table = OpenMdbTable( "Sample.mdb", "股票行情表" ) If Not Table Is Nothing Then Msg.Text = "已經建構好 DataTable!" End If End Sub </script>

Table02.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"> <H3>DataTable的建構:開啟資料庫<HR></H3> <asp:Label runat="server" id="Msg" /><p> <HR></Body> </Html>

Table02.aspx Part II <script Language="VB" runat="server">   Sub Page_Load(sender As Object, e As EventArgs) Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "股票行情表" ) If Not Table Is Nothing Then Msg.Text = "已經建構好 DataTable!" End If End Sub </script>

DataTable 的建構:逐欄逐列填入資料 建立 DataTable 物件:使用 New DataTable 的方式先建立好物件 。 建立欄位:包含欄位抬頭及其資料型別的建立 。 加入資料列:根據實際的資料列數(或稱「資料筆數」),逐列加入於DataTable之中。

實例 (1) 有四個陣列資料如下: Dim 姓名() = { “陳桶一”, “黃光權”, “胡生妙”, “王為全”, _ “李日正”, “劉德菖”, “方正一”, “劉康寶”, _ "謝掬花", "王美蘭", "徐小噹", "葉小毛" } Dim 國文() = { 90, 58, 41, 95, 59, 28, 98, 0, 95, 41, 91, 0 } Dim 英文() = { 76, 77, 14, 97, 66, 11, 100, 0, 74, 46, 99, 10 } Dim 數學() = { 98, 75, 33, 87, 57, 33, 100, 10, 89, 49, 84, 0 }

實例 (2) 將其填入 DataTable 成為以下結構:

Table03.aspx 節錄 Part I,II ' Part 1: 宣告並且建立 DataTable 物件 Dim Table As New DataTable ' Part 2: 建立欄位 Table.Columns.Add(New DataColumn("姓名", GetType(String))) Table.Columns.Add(New DataColumn("國文", GetType(Integer))) Table.Columns.Add(New DataColumn("英文", GetType(Integer))) Table.Columns.Add(New DataColumn("數學", GetType(Integer)))  

Table03.aspx 節錄 Part III ' Part 3: 加入資料列 For I = 0 To UBound(姓名) Dim Row As DataRow Row = Table.NewRow() Row("姓名") = 姓名(I) Row("國文") = 國文(I) Row("英文") = 英文(I) Row("數學") = 數學(I) Table.Rows.Add(Row) Next

8-2 DataGrid 初體驗

DataGrid 的安插與資料繫結

Grid01.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Grid01.aspx -- 用 DataGrid 顯示 DataTable 的資料<HR></H3> <asp:DataGrid runat="server" id="MyGrid" /> <p> <HR></Center></Body> </Html>

Grid01.aspx Part II <script Language="VB" runat="server">   Sub Page_Load(sender As Object, e As EventArgs) Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "股票行情表" ) ' DataGrid 與 DataTable 的資料繫結 MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

開啟其他資料庫(表)

設定 DataGrid 的外觀 想改變 DataGrid 的外觀,讓它從下圖(左)變成下圖(右):

Grid03.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Grid03.aspx -- 設定DataGrid的外觀<HR></H3> <asp:DataGrid runat="server" id="MyGrid" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" /> <p> <HR></Center></Body> </Html>

Grid03.aspx Part II <script Language="VB" runat="server">   Sub Page_Load(sender As Object, e As EventArgs) Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) ' DataGrid 與 DataTable 的資料繫結 MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub </script>

設定 DataGrid 的外觀— 特殊的屬性 Part I HeaderStyle-BackColor:用來設定第一列(抬頭列)的背景顏色。

設定 DataGrid 的外觀— 特殊的屬性 Part II AlternatingItemStyle-BackColor:用來設 定間隔一列的背景顏色。 BorderColor:表格邊框的顏色。

8-3 可以分頁瀏覽的 DataGrid

可以分頁瀏覽的 DataGrid

分頁瀏覽的基礎

Grid04.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Grid04.aspx -- 分頁瀏覽的基礎<HR></H3> <Form runat="server"> <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" /> </Form>

Grid04.aspx Part II <p> <HR></Center></Body> </Html>   <script Language="VB" runat="server"> Sub Page_Load(sender As Object, e As EventArgs) Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Grid04.aspx Part III Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex   Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub </script>

執行效能問題

利用 IsPostBack 解決執行效能問題 (Grid04b.aspx 節錄) Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then ' 網頁第一次被瀏覽 Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" )   MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End If End Sub

Grid04c.aspx 節錄 Part I <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Grid04c.aspx 節錄 Part II Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If End Sub   Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>

將 < 及 > 改成 上一頁 及 下一頁

Grid05.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"> <H3>Grid05.aspx -- 將 < 及 > 改成「上一頁」及「下一頁」<HR></H3> <Form runat="server"> <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage"

Grid05.aspx Part II PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText="下一頁" PagerStyle-PrevPageText="上一頁" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" /> </Form> <p> <HR></Center></Body> </Html>

Grid05.aspx Part III <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Grid05.aspx Part IV Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If End Sub   Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>

將 < 及 > 改成 1 2 3 4 … 的頁次連結

Grid06.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Grid06.aspx -- 將 < 及 > 改成 1 2 3 4 … 的頁次連結<HR></H3> <Form runat="server"> <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage"

Grid06.aspx Part II PagerStyle-Mode="NumericPages" PagerStyle-HorizontalAlign="Right" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" /> </Form> <p> <HR></Center></Body> </Html>

Grid06.aspx Part III <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "股票行情表" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Grid06.aspx Part IV Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If End Sub   Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>

8-4 DataGrid 與欄位設定

自定欄位抬頭及對齊方式

Grid07.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Grid07.aspx -- 自定欄位抬頭及對齊方式<HR></H3> <Form runat="server"> <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage" PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText="下一頁" PagerStyle-PrevPageText="上一頁" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0"

Grid07.aspx Part II AutoGenerateColumns="false" > <Columns> <asp:BoundColumn DataField="學號" HeaderText="學號" /> <asp:BoundColumn DataField="姓名" HeaderText="姓名" /> <asp:BoundColumn DataField="國文" HeaderText="國語" ItemStyle-HorizontalAlign="right"/> <asp:BoundColumn DataField="英文" HeaderText="英語" <asp:BoundColumn DataField="數學" HeaderText="數學" </Columns> </asp:DataGrid> </Form> <p> <HR></Center></Body> </Html>

Grid07.aspx Part III <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Grid07.aspx Part IV Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If End Sub   Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>

設定 DataGrid 欄位的連結

Grid08.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Grid08.aspx -- 設定 DataGrid 欄位的連結<HR></H3> <Form runat="server"> <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage" PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText=“下一頁” PagerStyle-PrevPageText="上一頁" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" AutoGenerateColumns="false" >

Grid08.aspx Part II <Columns> <asp:HyperLinkColumn DataTextField="學號" HeaderText="學號" DataNavigateUrlField="學號" DataNavigateUrlFormatString="students.aspx?id={0}" Target="_blank" /> <asp:BoundColumn DataField="姓名" HeaderText="姓名" /> <asp:BoundColumn DataField="國文" HeaderText="國語" ItemStyle-HorizontalAlign="right"/> <asp:BoundColumn DataField="英文" HeaderText="英語" <asp:BoundColumn DataField="數學" HeaderText="數學" </Columns> </asp:DataGrid> </Form> <p> <HR></Center></Body> </Html>

Grid08.aspx Part III <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Grid08.aspx Part IV Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If End Sub   Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>

8-5 DataTable 與排序

DataTable 與排序 排序也是顯示表格資料時,經常見到的功能,例如下圖是根據「國文」欄位來排序所顯示的表格:

Sort 屬性與資料排序(1) 想要產生排序好的資料,十分簡單,只要將 DataTable 的 DefaultView. Sort 屬性設定成欄位名稱即可,例如: DataTable.DefaultView.Sort = "國文" ' 根據國文欄位排序資料

Sort 屬性與資料排序(2)

Sort01.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Sort01.aspx -- Sort 屬性與資料排序<HR></H3> <Form runat="server"> 選擇排序的欄位:<br> <asp:ListBox runat="server" id="SortField" Rows=1> <asp:ListItem Selected>學號</asp:ListItem> <asp:ListItem>姓名</asp:ListItem> <asp:ListItem>國文</asp:ListItem> <asp:ListItem>英文</asp:ListItem> <asp:ListItem>數學</asp:ListItem> </asp:ListBox> <asp:Button runat="server" Text="排序" OnClick="SortPage"/> <p>

Sort01.aspx Part II <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage" PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText="下一頁" PagerStyle-PrevPageText="上一頁" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" /><p> </Form> <HR></Center></Body> </Html>

Sort01.aspx Part III <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) Table.DefaultView.Sort = SortField.SelectedItem.Text MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

Sort01.aspx Part IV Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If End Sub   Sub SortPage(sender As Object, e As EventArgs) Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>

遞增排序或遞減排序(1)

遞增排序或遞減排序 (2) 想要達到遞減排序的目的,只需在設定 Default.Sort 屬性時,在欄位名稱後面加上 " Desc" 即可,例如: DataTable.DefaultView.Sort = "國文 Desc" ' 國文欄位遞減排序

遞增排序或遞減排序 (3) 新增 RadioButtonList 控制元件,用以選擇「遞增排序」或「遞減排序」: <asp:RadioButtonList runat="server" id="SortType" RepeatDirection="Horizontal" RepeatColumns="2"> <asp:ListItem Selected>遞增排序</asp:ListItem> <asp:ListItem>遞減排序</asp:ListItem> </asp:RadioButtonList>

遞增排序或遞減排序 (4) 修改 OpenDataBase_And_BindToDataGrid() 副程式,使成為: Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) If SortType.SelectedItem.Text = "遞減排序" Then Table.DefaultView.Sort = SortField.SelectedItem.Text & " Desc" Else Table.DefaultView.Sort = SortField.SelectedItem.Text End If MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub

按下 DataGrid 的抬頭以排序資料

Sort03.aspx Part I <%@ Import Namespace="System.Data" %> <!-- #include File="Mdb.vb" -->   <Html> <Body BgColor="White"><Center> <H3>Sort03.aspx -- 按下 DataGrid 的抬頭以排序資料<HR></H3> <Form runat="server"> <asp:DataGrid runat="server" id="MyGrid" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage" PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText="下一頁" PagerStyle-PrevPageText="上一頁"

Sort03.aspx Part II AllowSorting="true" OnSortCommand="DgSortPage" HeaderStyle-BackColor="#AAAADD" AlternatingItemStyle-BackColor="#FFFFC0" BorderColor="Black" CellPadding="2" CellSpacing="0" /><p> <asp:Label runat="server" id="SortField" Text="學號" Visible="False" /> <asp:Label runat="server" id="SortType" Text="" Visible="False" /> </Form> <HR></Center></Body> </Html>

Sort03.aspx Part III <script Language="VB" runat="server">   Sub OpenDataBase_And_BindToDataGrid() Dim Table As DataTable Table = OpenMdbTable( "Sample.mdb", "成績單" ) Table.DefaultView.Sort = SortField.Text & SortType.Text MyGrid.DataSource = Table.DefaultView MyGrid.DataBind() End Sub Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then OpenDataBase_And_BindToDataGrid() End If

Sort03.aspx Part IV Sub DgSortPage(sender As Object, e As DataGridSortCommandEventArgs) If SortField.Text = e.SortExpression Then If SortType.Text = "" Then SortType.Text = " Desc" Else SortType.Text = "" End If SortField.Text = e.SortExpression SortType.Text = "" OpenDataBase_And_BindToDataGrid() End Sub   Sub ChangePage(sender As Object, e As DataGridPageChangedEventArgs) MyGrid.CurrentPageIndex = e.NewPageIndex </script>