在Visual C#中用ListView顯示資料記錄

來源:互聯網
上載者:User

如果要你在程式中顯示資料庫中的資料記錄,你首先想用的顯示工具肯定是DataGrid。當然用DataGrid顯示資料記錄是一種既常用又簡單的方法。但是在程式控制方面,它卻無法那麼隨心所欲。本文就是介紹另外一種顯示資料記錄的方法--用ListView來顯示資料記錄,由於他是手動加入記錄,雖然在程式設計中稍微煩瑣了些,但對於那些在特殊的顯示要求,卻往往能夠滿足要求。

在.Net FrameWork SDK中定義了許多組件,Visual C#就是通過獲得這些組件的執行個體來豐富自己的介面的。列表(ListView)是程式設計中一個常用的組件,由於其自身的特點,往往被使用顯示比較龐大的資料資訊。本文就是利用他的這個特點來看看它如何來顯示資料記錄。

一. 程式設計和啟動並執行環境

(1).微軟視窗2000專業版本

(2)..Net FrameWork SDK Beta 2

(3).Microsoft Data Acess Component 2.6 (MDAC2.6)

二. 程式設計的具體思路

(1).首先要建立資料連線,開啟資料集

(2).對列表進行初始化,並使得列表的顯示條件符合資料記錄的條件

(3).對資料集中的資料記錄進行遍曆,在遍曆中添加記錄到列表中

(4).關閉資料集,關閉資料連線

三. 具體的實現步驟

(1).首先要建立資料連線,開啟資料集

對於如何建立資料連線和獲得資料集的內容可以參考本站的一篇文章--《在Visual C#中訪問不同的資料庫》,在此文中對此類問題有比較詳細的介紹,本文就不多敘述,具體實現語句如下:

// 定義資料連線的字串,程式中使用的是Acess 2000資料庫
private static string strConnect = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " +
Application.StartupPath + "\\MY.MDB" ;
private OleDbConnection conConnection = new OleDbConnection ( strConnect ) ;
OleDbDataReader reader ;
// 獲得Person裡面的所以資料記錄
string strCommand = "SELECT * FROM Persons" ;
this.conConnection.Open ( ) ; // 開啟資料連線
OleDbCommand cmd = new OleDbCommand ( strCommand , conConnection ) ;
reader = cmd.ExecuteReader ( ) ; file://獲得資料集
  

(2).對列表進行初始化,並使得列表的顯示條件符合資料記錄的條件。需要說明的是在下面原始碼中,lv是在Class中定義的一個ListView的一個執行個體

// 初始化ListView
lv = new ListView ( ) ;
lv.Left = 0 ;
lv.Top = 0 ;
lv.Width = 700 ;
lv.Height = this.ClientRectangle.Height ;
lv.GridLines = true ; file://顯示各個記錄的分隔線
lv.FullRowSelect = true ; file://要選擇就是一行
lv.View = View.Details ; file://定義列表顯示的方式
lv.Scrollable = true ; file://需要時候顯示捲軸
lv.MultiSelect = false ; // 不可以多行選擇
lv.HeaderStyle = ColumnHeaderStyle.Nonclickable ;
// 針對資料庫的欄位名稱,建立與之適應顯示表頭
lv.Columns.Add ( "姓名" , 60 , HorizontalAlignment.Right ) ;
lv.Columns.Add ( "住家電話" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "辦公電話" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "行動電話" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "居住地點" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "工作單位" , 100 , HorizontalAlignment.Left ) ;
lv.Columns.Add ( "電子郵件" , 100 , HorizontalAlignment.Left ) ;
lv.Visible = true ;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.