自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)講解VB.NET Data Grid

開發(fā) 后端
這里介紹VB.NET Data Grid實(shí)現(xiàn)主/從數(shù)據(jù)表模式一般有兩種方式,一是利用一個(gè)VB.NET Data Grid控件裝入兩個(gè)相關(guān)的數(shù)據(jù)表,二是采用兩個(gè)VB.NET Data Grid控件實(shí)現(xiàn)主從模式。

VB.NET還是比較常用的,于是我研究了一下VB.NET Data Grid,在這里拿出來和大家分享一下,希望對(duì)大家有用。

在以數(shù)據(jù)庫為中心的應(yīng)用程序中,主/從數(shù)據(jù)表視圖是一種非常常見的設(shè)計(jì)模式。在這種模式下,***數(shù)據(jù)(主表)顯示在一個(gè)用戶界面元素中(如VB.NET Data Grid),而與之相關(guān)的細(xì)節(jié)數(shù)據(jù)(從表)則根據(jù)主表的選擇作相應(yīng)的變化更新。例如:我們可以查看出版社已出版圖書的信息列表,當(dāng)選擇某種圖書時(shí),在從表中立即顯示出該圖書的銷售情況。

VB.NET Data Grid實(shí)現(xiàn)主/從數(shù)據(jù)表模式一般有兩種方式,一是利用一個(gè)VB.NET Data Grid控件裝入兩個(gè)相關(guān)的數(shù)據(jù)表,二是采用兩個(gè)VB.NET Data Grid控件實(shí)現(xiàn)主從模式。為便于說明,我們采用SQL Server 2000自帶的Pubs數(shù)據(jù)庫的Titles表和Sales表進(jìn)行演示,其中Titles表記錄了某出版社的圖書目錄,而Sales表則是每種圖書的銷售數(shù)據(jù),兩張表中都包含title_id列。

一個(gè)VB.NET Data Grid中裝入多個(gè)相關(guān)表

我們都知道,將VB.NET Data Grid的Data Source屬性同Dataset相綁定,即可將數(shù)據(jù)表顯示在VB.NET Data Grid中,但不少初學(xué)者并不清楚:通過向Dataset中添加多個(gè)Data Table對(duì)象,每個(gè)Data Table對(duì)象裝入一張表,再設(shè)定好關(guān)聯(lián),即可在VB.NET Data Grid中顯示多張關(guān)聯(lián)表。

  1. Imports System.Data.SqlClient  
  2. ’引用SqlClient命名空間  
  3. Public Class Form1  
  4. Const Connection String As String = "integrated security=sspi;
  5. initial catalog=Pubs; data source=(local)" 
  6. ’定義連接字符串  
  7. Private Sub Button1_Click(By Val sender As Object, 
    By Val e As System.EventArgs) Handles Button1.Click  
  8. Dim cn As New SqlConnection (Connection String)  
  9. Cn. Open()  
  10. ’建立同數(shù)據(jù)庫的連接  
  11. Dim ds As New Dataset("Book Sales")  
  12. ’創(chuàng)建Dataset對(duì)象  
  13. Dim Titles Table As New Data Table("Titles")  
  14. ds.Tables.Add(Titles Table)  
  15. ’創(chuàng)建Data Table對(duì)象(Titles表),加入Dataset  
  16. Dim GetTitlesString As String = "Select * From Titles" 
  17. Dim da As New SqlDataAdapter(GetTitlesString, cn)  
  18. da.Fill(Titles Table)  
  19. ’填充Data Table  
  20. da.Dispose()  
  21. Dim Sales Table As New Data Table("Sales")  
  22. ds.Tables.Add(Sales Table)  
  23. Dim GetSalesString As String = "Select * From Sales" 
  24. da = New SqlDataAdapter(GetSalesString, cn)  
  25. da.Fill(Sales Table)  
  26. ’創(chuàng)建并填充Sales表  
  27. da.Dispose()  
  28. cn.Close()  
  29. Dim relation As New Data Relation("Title Sales", TitlesTable.
    Columns("title_id"),SalesTable.Columns("title_id"))  
  30. ds.Relations.Add(relation)  
  31. 根據(jù)title_id列建立兩個(gè)表的關(guān)聯(lián)  
  32. DataGrid1.DataSource = ds 
  33. 將DataGrid1綁定到Dataset對(duì)象(即ds)  
  34. End Sub  
  35. End Class 

需要注意的是:在單表模式下,用SqlDataAdapter對(duì)象填充Dataset時(shí),若發(fā)現(xiàn)Dataset中沒有表,就自動(dòng)創(chuàng)建一個(gè)新的 Data Table并填充;而用主從模式時(shí),應(yīng)顯示創(chuàng)建每個(gè)Data Table對(duì)象并填充,再利用Data Relation對(duì)象建立多個(gè)Data Table之間的關(guān)聯(lián),***將VB.NET Data Grid綁定到Dataset上。

運(yùn)行工程,會(huì)看到一個(gè)有加號(hào)按鈕的視圖。單擊加號(hào),窗體中出現(xiàn)裝入的所有表名。如果查看Titles表,就會(huì)發(fā)現(xiàn)在每行的旁邊有一個(gè)小加號(hào)按鈕,點(diǎn)擊加號(hào),就可以查看其銷售情況。

在窗體的右上部,向左的小箭頭按鈕用于回退。每查看一次銷售情況后,都必須用回退按鈕回到主表,顯然,這種主/從表模式的可操作性很差,也不太符合我們的操作習(xí)慣。也許,后一種方式是比較好的解決方案。

【編輯推薦】

  1. 淺談VB.NET線程構(gòu)造器
  2. 簡(jiǎn)單分析VB.NET使用線程
  3. VB.NET List(T)編寫框架方法
  4. 簡(jiǎn)單介紹VB.NET線程同步
  5. VB.NET聲明API詳細(xì)描述
責(zé)任編輯:佚名 來源: ITPUB
相關(guān)推薦

2009-10-12 16:56:36

VB.NET常量VB.NET枚舉

2009-10-12 13:40:47

VB.NET Data

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2009-10-28 09:55:29

VB.NET MyCl

2009-10-16 13:19:04

VB.NET Data

2009-10-23 13:10:14

VB.NET List

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-14 17:21:47

VB.NET定制Win

2009-10-13 14:42:30

VB.NET靜態(tài)成員

2010-01-18 18:20:49

VB.NET使用API

2009-10-12 15:02:51

VB.NET動(dòng)態(tài)控件

2009-10-13 17:03:55

VB.NET面向?qū)ο?/a>

2009-11-02 15:45:03

VB.NET IEnu

2010-01-07 15:18:10

VB.NET常量

2010-01-21 16:45:00

VB.NET繼承規(guī)則

2009-10-10 16:44:52

VB.NET開發(fā)控件

2009-11-10 12:42:47

VB.NET Prin

2009-10-10 17:06:09

VB和VB.NET

2009-10-28 13:24:25

VB.NET文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)