六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

DataGrid Web控件深度歷險(2) Part2

[摘要]在本文的第一部分,我們研究了如何設定DataGrid Web控件的顯示屬性以及如何通過樣式設定DataGrid的頁眉、頁腳、行和交替行的顯示。所有這些技術或是用于設定整個DataGrid的顯示,或是用于設定DataGrid中行的顯示。但是如何設定DataGrid中列的顯示屬性?其實并不難,接著讀你...
在本文的第一部分,我們研究了如何設定DataGrid Web控件的顯示屬性以及如何通過樣式設定DataGrid的頁眉、頁腳、行和交替行的顯示。所有這些技術或是用于設定整個DataGrid的顯示,或是用于設定DataGrid中行的顯示。但是如何設定DataGrid中列的顯示屬性?其實并不難,接著讀你就知道了。

設定哪些列應該顯示

缺省情況下DataGrid在生成的HTML表格中為SQL查詢返回的每一列生成一個對應的列。但是在一些情況下僅希望在DataGrid中顯示這些列中的一部分列。例如,在我正在進行的示例中,通過調用sp_Popularity存儲過程顯示了ASPFAQs.com最受歡迎的10個問題。它包含FAQID列,或許我并不希望顯示該列。

如果不想在DataGrid中顯示數據庫查詢返回的所有列,必須顯式地聲明所有希望顯示的列。第一步是將DataGrid的AutoGenerateColumns屬性設為False。一旦執行完這個操作,就需要通過BoundColumn Web控件設定需顯示的列,如下所示:

<asp:DataGrid runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="DatabaseColumnName1" ... />
<asp:BoundColumn DataField="DatabaseColumnName2" ... />
...
<asp:BoundColumn DataField="DatabaseColumnNameN" ... />
</Columns>
</asp:datagrid>
對于每一個希望顯示的列,需要通過一個包含DataField屬性的<asp:BoundColumn ... />標記來指定數據庫中需要顯示的列。所有這些BoundColumn標記必須包含在Column標記內。(也可通過編程的方式指定這些綁定列,但是它的可讀性差,并且需要很多代碼!)請注意只有通過BoundColumn標記指定的列才會在DataGrid中顯示,你必須指定需要顯示的列!

BoundColumn控件的優點在于它包含一些設定格式的屬性,包括:

l HeaderText — 設定列標題的文字。

l FooterText — 設定列尾的文字(記住若要在DataGrid中顯示頁腳,應將ShowFooter設為True)。

l HeaderStyle/FooterStyle/ItemStyle — 包含與DataGrid樣式相同的屬性。對設定列居中、前景色、背景色等很有用。

l DataFormatString — 設置格式命令。(參考下面的示例;參考文檔以獲得全部的格式化規范)

讓我們看一下如何通過使用BoundColumn標記來進一步增強前面的示例。正如前面所提到的,我們不想顯示FAQID或FAQCategoryID列,并且我們希望對數字列(ViewCount)和日期/時間列(DateEntered)設定格式。另外,我們希望數字列的值居中。這些均可通過幾行易于閱讀易于理解的代碼完成:

<asp:DataGrid runat="server" id="dgPopularFAQs"
BackColor="#eeeeee" Width="85%"
HorizontalAlign="Center"
Font-Name="Verdana" CellPadding="4"
Font-Size="10pt" AutoGenerateColumns="False">
<HeaderStyle BackColor="Black" ForeColor="White"
Font-Bold="True" HorizontalAlign="Center" />
<AlternatingItemStyle BackColor="White" />

<Columns>
<asp:BoundColumn DataField="CatName" HeaderText="Category Name" />
<asp:BoundColumn DataField="Description" HeaderText="FAQ Description" />
<asp:BoundColumn DataField="ViewCount" DataFormatString="{0:#,###}"
HeaderText="Views" ItemStyle-HorizontalAlign="Center" />
<asp:BoundColumn DataField="SubmittedByName" HeaderText="Author" />
<asp:BoundColumn DataField="SubmittedByEmail" HeaderText="Author's Email" />
<asp:BoundColumn DataField="DateEntered" HeaderText="Date Added"
DataFormatString="{0:MM-dd-yyyy}" />
</Columns>
</asp:datagrid>
實際運行結果如下:

Category Name
FAQ Description

Views
Date Added

Getting Started
Where can I host my ASP Web site for free (similar to GeoCities or Tripod or any of the many other free Web site sites)?

161,316
03-20-2001

ASP.NET
How can I format numbers and date/times using ASP.NET? For example, I want to format a number as a currency.

124,391
01-19-2002

Databases, Errors
I am using Access and getting a 80004005 error (or a [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)' error) when trying to open a connection! How can I fix this problem?

108,374
01-17-2001








如上例所示,上述代碼指定了需要顯示的特定列并且應用了特定的格式。請注意DataFormateString看上去很有趣。它的格式始終是{0:format string}。{0: …}指定通過格式化字符串(由…指定的)來格式化第一個參數(第一個參數指由DataReader返回的那個特定列的值)。在示例中我使用了格式化字符串#,###,它在每3個數字前加上一個逗號;格式化字符串MM-dd-yyyy指定通過月、日和年的格式顯示日期/時間字段。

結論

花一些時間看一下第一個示例(見DataGrid Web控件深度歷險(1))和現在的示例。改進確實很大!請注意所有這些樣式和用戶界面的改進不需要寫一行代碼就可實現。我們只是在Web控件的標記中設定了一些屬性!事實上如果你正在使用類似Visual Studio .Net的編輯器, 你可通過點擊一些按鈕、選中一些復選框、選擇列表框的一些項來設定格式化選項。想象一下在傳統ASP中實現同樣效果需要編寫的那些冗長代碼,那會使你愛上ASP.Net,如果你現在還沒有的話。




主站蜘蛛池模板: 日本永久视频 | 日本成人福利 | 亚洲人成自拍网站在线观看忄 | 日韩欧美国内 | 日韩天天干 | 日本精高清区一 | 五月在线视频 | 日韩三级在线 | 亚洲三级中文字幕 | 日韩第三页 | 日韩视频国产 | 日韩在线视频线视频免费网站 | 五月婷婷色 | 亚洲综合精品一二三区在线 | 日韩一级在线观看 | 欧美香蕉视频在线观看 | 欧美视频在线播放观看免费福利资源 | 欧美综合一区二区三区 | 日本乱子 | 天天干天天玩 | 小说区图片区综合久久亚洲 | 欧美一级特黄刺激大片视频 | 日本五级床片全部免费放 | 青娱乐免费在线视频 | 亚洲免费视频观看 | 五月激情综合丁香色婷婷 | 又粗又硬又爽的三级视频在线观看 | 热思思久久 | 四虎影院国产精品 | 日本大片在线播放在线 | 亚洲欧美日本韩国综合在线观看 | 奇米狠狠 | 天堂网www天堂在线资源链接 | 天天干天天透 | 在线播放国产色视频在线 | 五月婷中文字幕 | 午夜视频h| 天天搞天天操 | 在线播放日本爽快片 | 中文国产成人精品久久96 | 特级片在线观看 |