亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

DataGrid控件的使用四

2019-11-18 17:43:04
字體:
來源:轉載
供稿:網友

    使用Bookmarks和SelBookmarks跟蹤記錄
    Bookmarks和SelBookmarks提供了標記記錄的一種手段。當編寫應用程序中的特定功能(諸如允許最終用戶手工地選擇多個不相鄰的記錄,進行所選記錄的大批更新)時,這就很有必要。在這些情形中,需要標記哪些記錄已被選擇,因此可以使用SelBookmarks集合及其屬性。
    有兩個函數,分別是CellText和CellValue方法,需要標記才能正確執行。

    標記用戶的選擇
    SelBookmarks集合包含所有選定的記錄的書簽。當最終用戶手工選擇記錄時(即在單擊時按住CTRL鍵),每一個選定的記錄的書簽都會加入到該集合中。使用標準的循環,用戶可以知道已經選定了什么,也可以保存書簽(因為可能需要恢復某個值),以及執行操作:
    DimiasInteger'    Nexti

    通過在程序中添加到SelBookmarks集合來選擇記錄
    通過將記錄添加到這個集合,也可以在程序中選定記錄。例如,可能有一個顯示指定的客戶所有訂貨的網格。如果要高亮顯示該客戶花費超過$100的所有記錄,則對記錄進行過濾,并將結果書簽添加到SelBookmarks集合。
    DimrsAsRecordset
    Setrs=Adodc1.Recordset

    WhileNotrs.EOF
      Ifrs!SupplierID=12Then
        DataGrid1.SelBookmarks.Addrs.Bookmark
      EndIf
      rs.MoveNext
    Wend

    顯示計算結果字段
    假設在表中有一個名為"
PRice"的字段,并且想使用本地稅率來計算表中每一項的稅費。這就是一個計算結果字段,可以通過修改DataSource的查詢來計算這個值,并把這個值返回給DataGrid控件。
    要在DataGrid控件中創建一個計算結果字段
    1.確認在機器上已為Northwind數據庫建立了一個OLEDB數據源;如果還沒有創建這樣的一個數據源,請按照“創建Northwind的OLEDBData連接”的步驟操作。
    2.在窗體上放置一個ADOData控件和一個DataGrid控件。
    3.將ADOData控件的ConnectionString屬性設置為Northwind的數據源。
    4.設置ADOData控件的RecordSource屬性。在“屬性”窗口中,單擊“記錄源”并輸入SelectProductName,UnitPrice,(UnitPrice*.082)AsTaxFromProducts。
    5.將DataGrid控件的DataSource屬性設置為這個ADOData控件。
    6.運行該工程。

    與類模塊一起使用DataGrid控件
    如果想要訪問以自定義格式或以ODBC驅動程序不直接支持的格式存放的數據,可以創建一個類來封裝該數據。然后可以編寫該類的自定義函數來檢索這些數據。這樣該類就變成了一種數據源,可以被任何數據使用者(如DataGrid控件)使用。
    在這個類模塊的Initialize事件中,首先通過聲明一個作為New ADODB.Recordset的變量,來創建一個ADODBrecordset對象。在創建了這個recordset對象后,再添加字段,每個數據源中的每個字段都要加入。然后使用合適的數據填充這個記錄集。
    注意也可以使用OLEDB示例提供者來創建一個數據源。關于OLEDB示例提供者的詳細信息,請參閱“創建帶有數據提供方的部件”。
    類模塊有一個GetDataMember事件,只要當數據使用者(諸如DataGrid控件)需要數據時就產生該事件。在這個事件中,Data參數被設置為在Initialize事件中所創建的recordset對象。
    如果要使用這個類模塊,應創建一個具有一個DataGrid控件的窗體。在該窗體的Load事件的代碼中,將該控件的DataSource屬性設置為這個類。
    注意數據類模塊在設計時是不可用的。例如,如果使用DataGrid控件,則當用戶在“屬性”窗口中單擊“數據源”時,所有可用的數據源都會出現在一個下拉列表中。但其中不會有這個數據類模塊,它只能在代碼中設置。

    使用類模塊創建一個數據源
    下面的示例使用一個類模塊來創建一個簡單數據源。然后通過DataSource屬性將DataGrid控件綁定到該模塊。
要創建一個用于DataGrid的類
    1.創建一個新的標準Exe工程。
    2.給窗體添加一個DataGrid控件。如果DataGrid控件不在“工具箱”中,則在“工程”菜單中單擊“部件”,
再單擊“MicrosoftDataGridControl”,然后單擊“確定”。
    3.在“工程”菜單中,單擊“引用”。在“引用”對話框中,單擊“MicrosoftActiveXDataObjects2.0Library”。
    4.在“工程”菜單中,單擊“添加類模塊”來給工程添加一個數據類模塊。
    5.在“工程資源管理器”窗口中,單擊并選定“類”圖標,并按F4鍵顯示“屬性”窗口。
    6.在“屬性”窗口中,將類的名稱更改為NamesData。
    7.在“屬性”窗口中,單擊“DataSourceBehavior”并將該屬性更改為vbDataSource。
    8.在該類模塊的Declarations部分,創建一個ADODBRecordset變量,如下所示:
    OptionExplicit
    PrivateWithEventsrsNamesAsADODB.RecordSet
    使用WithEvents關鍵詞來聲明該變量,使用戶可以對RecordSet對象的事件編程。
    9.在該類的Initialize事件中,添加下述代碼:
    PrivateSubClass_Initialize()
      '將新的數據成員的名稱添加到DataMember集合
      '這使其它對象可以看見這些可用的
      DataMembersDataMembers.Add"Names"

      SetrsNames=NewADODB.RecordSet   '設置對象變量。
      '創建一個具有兩個字段的recordset,并打開該recordset。
      '第一個記錄具有一個整數的數據類型,第二個記錄是一個最大可
      '達256個字符的字符串。CursorType被設置為OpenStatic
      '——一個可更新的對一組記錄的快照。LockType被設置為
      'LockOptimistic,以允許對該recordset進行更新。
      WithrsNames
        .Fields.Append"ID",adInteger
        .Fields.Append"Name",adBSTR,255
        .CursorType=adOpenStatic
        .LockType=adLockOptimistic
        .Open
      EndWith

      DimiAsInteger
      Fori=1to10  '添加十條記錄。
        rsNames.AddNew
        rsNames!ID=i
        rsNames!Name="Name"&i
        rsNames.Update
      Nexti
      rsNames.MoveFirst'移到該記錄集的開始。
    EndSub
    這部分代碼首先創建recordset對象,然后給該對象添加兩個字段。代碼接著給recordset添加十條記錄。
    10.在該類的GetDataMember事件中,添加下述代碼:
    PrivateSubClass_GetDataMember(ByValDataMemberAsString,_
    DataAsObject)
       SetData=rsNames
    EndSub
    只要發生該事件——即當該類對象被綁定到一個數據使用者,如DataGrid控件時,代碼將返回該recordset對象。
    11.在Form對象的代碼模塊中,聲明一個數據類的對象變量:
    OptionExplicit
    PrivatedatNamesAsNamesData'類變量
    12.在Form對象的Load事件的代碼中,將DataGrid控件的DataSource設置為該類對象。
     PrivateSubForm_Load()
       '創建一個新的NamesData對象
       SetdatNames=NewNamesData
       '將這個DataGrid綁定到新的數據源datNames
       SetDataGrid1.DataSource=datNames
     EndSub
    13.按F5鍵運行該工程。

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美一区二区激情| 欧美成人一区二区三区电影| 亚洲视频精品在线| 国产精品高潮呻吟久久av无限| 欧美日韩成人免费| 高跟丝袜欧美一区| 亚洲国产精彩中文乱码av| 欧美另类极品videosbestfree| 亚洲自拍高清视频网站| 欧美韩日一区二区| 伦伦影院午夜日韩欧美限制| 欧美午夜视频在线观看| 亚洲精品国精品久久99热| 国产伦精品免费视频| 亚洲高清免费观看高清完整版| 97精品国产97久久久久久| 欧美日本啪啪无遮挡网站| 欧美精品www在线观看| 国产精品欧美一区二区三区奶水| 国产精品久久久久久中文字| 日韩av第一页| 久久久久久久久亚洲| 精品国产乱码久久久久久天美| 911国产网站尤物在线观看| 亚洲视频在线免费观看| 精品自在线视频| 欧美性极品少妇精品网站| 伊人久久五月天| 亚洲国产精品美女| 成人黄色免费片| 国产日韩在线一区| 最近2019中文字幕第三页视频| 欧美最顶级丰满的aⅴ艳星| 国产精品美乳在线观看| 日韩精品免费看| 91美女高潮出水| 国产97在线观看| 2019亚洲日韩新视频| 欧美孕妇性xx| 黑人巨大精品欧美一区二区三区| 色哟哟入口国产精品| 国产精品嫩草影院一区二区| 色偷偷av一区二区三区| 日韩黄色高清视频| 91中文字幕在线| 日韩毛片在线观看| 欧美日韩国产123| 欧美视频国产精品| 亚洲天堂精品在线| 亚洲人成电影在线| 欧美在线xxx| 久久理论片午夜琪琪电影网| 久久99久久99精品免观看粉嫩| 欧美疯狂性受xxxxx另类| 欧美日韩国产限制| 91亚洲精品在线观看| 久久影院免费观看| 亚洲free性xxxx护士白浆| 亚洲欧美日韩国产中文| 亚洲福利在线播放| 97国产在线观看| 亚洲精品短视频| 亚洲精品乱码久久久久久按摩观| 亚洲欧美日韩成人| 91福利视频网| 在线播放国产精品| 精品成人国产在线观看男人呻吟| 日韩欧美国产一区二区| 国产v综合v亚洲欧美久久| 欧美久久精品午夜青青大伊人| 国产综合视频在线观看| 一本一本久久a久久精品综合小说| 在线视频欧美日韩精品| 精品中文字幕在线| 日韩毛片中文字幕| 国产精品久久久久秋霞鲁丝| 疯狂蹂躏欧美一区二区精品| 国产午夜精品美女视频明星a级| 国产丝袜一区二区| 久久久噜噜噜久久中文字免| 亚洲第一视频网站| 久久久久日韩精品久久久男男| 97av在线播放| 欧美成人午夜剧场免费观看| 精品久久久久久| 国产专区欧美专区| 在线视频精品一| 日韩国产一区三区| 日韩精品在线视频观看| 成人免费大片黄在线播放| 2021国产精品视频| 国产美女高潮久久白浆| 久久久久久久999精品视频| 中文字幕日韩有码| 欧美激情视频一区二区三区不卡| 久久伊人精品视频| 成人情趣片在线观看免费| 亚洲精品久久久久中文字幕欢迎你| 久久69精品久久久久久久电影好| 亚洲丁香久久久| 国产精品aaa| 国产精品久久久久国产a级| 九九视频直播综合网| 日韩国产在线看| 欧美老女人在线视频| 国产91精品不卡视频| 欧美日韩国产精品一区二区不卡中文| 久热精品在线视频| 亚洲福利视频网站| 一本大道香蕉久在线播放29| 欧美激情精品久久久久久变态| 57pao成人永久免费视频| 亚洲一区二区三区视频| 国产精品视频导航| 久久久久国产视频| 亚洲一区二区国产| 亚洲国产中文字幕在线观看| 91精品国产色综合| 亚洲激情视频在线播放| 亚洲国产精品99久久| 欧美精品国产精品日韩精品| 久久中文字幕在线| 欧美成人午夜免费视在线看片| 久久男人av资源网站| 欧美最猛性xxxxx免费| 久久精品2019中文字幕| 91亚洲精品一区二区| 日本成人激情视频| 国产成人久久精品| 亚洲精品成人久久| 日韩av免费在线看| 午夜精品久久久久久久99热| 亚洲伊人一本大道中文字幕| 91久久精品国产| 中文字幕日韩精品有码视频| 亚洲欧美日韩在线高清直播| 欧美大尺度在线观看| 欧美日本国产在线| 一本久久综合亚洲鲁鲁| 日韩中文在线观看| 992tv成人免费视频| 91在线视频导航| 欧美精品videossex性护士| 久久久久久这里只有精品| 久久影视免费观看| 国产在线a不卡| 成人性教育视频在线观看| 亚洲天堂av在线播放| 久久久久久九九九| 日韩欧美一区视频| 亚洲欧洲一区二区三区在线观看| 国内精品美女av在线播放| 成人在线激情视频| 亚洲欧美日韩精品久久亚洲区| 日韩av在线网页| 欧美高清videos高潮hd| 亚洲第一页在线| 日韩精品在线视频美女| 亚洲一二三在线| 欧美视频中文字幕在线| 国产精品一区二区久久国产| 国产精品专区h在线观看| 亚洲中国色老太| 尤物精品国产第一福利三区|