日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

使用DataGrid控件

發布時間:2024/5/24 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 使用DataGrid控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    DataGrid控件是一種類似于電子數據表的綁定控件,可以顯示一系列行和列來表示Recordset對象的記錄和字段。可以使用DataGrid來創建一個允許最終用戶閱讀和寫入到絕大多數數據庫的應用程序。DataGrid控件可以在設計時快速進行配置,只需少量代碼或無需代碼。當在設計時設置了DataGrid控件的DataSource屬性后,就會用數據源的記錄集來自動填充該控件,以及自動設置該控件的列標頭。然后您就可以編輯該網格的列;刪除、重新安排、添加列標頭、或者調整任意一列的寬度。
    在運行時,可以在程序中切換DataSource來察看不同的表,或者可以修改當前數據庫的查詢,以返回一個不同的記錄集合。
    注意DataGrid控件與VisualBasic5.0中的DBGrid是代碼兼容的,除了一個例外:DataGrid控件不支持DBGrid的“解除綁定模式”概念。DBGrid控件包括在VisualBasic的Tools目錄中。

    可能的用法
    查看和編輯在遠程或本地數據庫中的數據。
    與另一個數據綁定的控件(諸如DataList控件)聯合使用,使用DataGrid控件來顯示一個表的記錄,這個表通過一個公共字段鏈接到由第二個數據綁定控件所顯示的表。

    使用DataGrid控件的設計時特性
    可以不編寫任何代碼,只通過使用DataGrid控件的設計時特性來創建一個數據庫應用程序。下面的說明概要地說明了在實現DataGrid控件的典型應用時的一般步驟。完整的循序漸進的指示,請參閱主題“DataGrid方案1:使用DataGrid控件創建一個簡單數據庫應用程序”。
要在設計時實現一個DataGrid控件
    1.為要訪問的數據庫創建一個Microsoft數據鏈接(.MDL)文件。請參閱“創建NorthwindOLEDB數據鏈接”主題,以獲得一個示例。
    2.在窗體上放置一個ADOData控件,并將其ConnectionString屬性設置為在第1步中所創建的OLEDB數據源。
    3.在這個AdoData控件的RecordSource屬性中輸入一條將返回一個記
錄集的SQL語句。例如,Select*FromMyTableNameWhereCustID=12
    4.在窗體上放置一個DataGrid控件,并將其DataSource屬性設置為這個ADOData控件。
    5.右鍵單擊該DataGrid控件,然后單擊“檢索字段”。
    6.右鍵單擊該DataGrid控件,然后單擊“編輯”。
    7.重新設置該網格的大小、刪除或添加網格的列。
    8.右鍵單擊該DataGrid控件,然后單擊“屬性”。
    9.使用“屬性頁”對話框來設置該控件的適當的屬性,將該網格配置為所需的外觀和行為。

    在運行時更改顯示的數據
    在創建了一個使用設計時特性的網格后,也可以在運行時動態地更改該網格的數據源。下面介紹實現這一功能的通常方法。

    更改DataSource的RecordSource
    更改所顯示的數據的最通常方法是改變該DataSource的查詢。例如,如果DataGrid控件使用一個ADOData控件作為其DataSource,則重寫RecordSource和刷新該ADOData控件都將改變所顯示的數據。
    'ADOData控件連接的是Northwind數據庫的'Products表。新查詢查找所有
    'SupplierID=12的記錄。
    DimstrQueryAsString
    strQuery="SELECT*FROMSuppliersWHERESupplierID=12"
    Adodc1.RecordSource=strQuery
    Adodc1.Refresh

    更改DataSource
    在運行時,可以將DataSource屬性重新設置為一個不同的數據源。例如,您可能具有若干個ADOData控件,每個控件連接不同的數據庫,或設置為不同的RecordSource屬性。可以簡單地將DataSource從一個ADOData控件重新設置為另一個ADOData控件:
    '將DataSource重新設置為一個連接到Pubs數據庫的、
    '使用Authors表的ADOData控件。
    SetDataGrid1.DataSource=adoPubsAuthors

    重新綁定DataSource
    當將DataGrid控件用于一個遠程數據庫,諸如SQLServer時,可以改變表的結構。例如,可以給這個表添加一個字段。在這種情形下,可以調用Rebind方法根據新的結構來重新創建該網格。注意,如果已經在設計時改變了這個列的布局,DataGrid控件將會試圖重新創建當前的布局,包括任何空的列。不過,通過首先調用ClearFields方法,可以強制該網格重新設置所有的列。

    從DataGrid返回值
    在DataGrid被連接到一個數據庫后,可能想要監視用戶單擊了哪一個單元。可以使用RowColChange事件——而不是Click事件。如下所示:
    PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)
       '顯示用戶所單擊的單元的文字、行和列的信息。
       Debug.PrintDataGrid1.Text;DataGrid1.Row;DataGrid1.Col
    EndSub

    使用CellText和CellValue方法
    當一個列使用NumberFormat屬性設置格式后,CellText和CellValue屬性是很有用的。NumberFormat屬性不必更改實際的數據格式就可以更改任何包含數字的列的格式。例如,給定一個網格,其中包含一個名為ProductID的、包含整數的列。下面的代碼將使DataGrid以"P-0000"的格式來顯示數據。換句話說,盡管在ProductID字段中所包含的實際數值為"3",但該網格所顯示的值將是"P-0003"。
      PrivateSubForm_Load()
        DataGrid1.Columns("ProductID").NumberFormat="P-0000"
      EndSub
    要返回數據庫中所包含的實際值,應使用CellValue方法,如下所示:
      PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)
        Debug.Print_
        DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)
      EndSub
    注意上面所用的CellValue和下面所用的CellText值,都需要將Bookmark屬性作為一個參數,功能才正確。
    相反地,如果要返回該字段的格式化的值,應使用CellText方法:
      PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)
        Debug.Print_
        DataGrid1.Columns("ProductID").CellText(DataGrid1.Bookmark)
      EndSub
    注意上面的CellText方法等價于使用DataGrid控件的Text屬性。

    下一步
    要閱讀關于使用該控件創建簡單的應用程序的一個循序漸進的過程,請參閱“使用DataGrid控件創建簡單的數據庫應用程序”,或“創建一個連接DataList控件的DataGrid”。
    要了解關于Split對象以及如何對其編程的詳細信息,請參閱“操作DataGrid視圖”。

資料引用:http://www.knowsky.com/336992.html

大部分轉載 小部分自寫

總結

以上是生活随笔為你收集整理的使用DataGrid控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。