DataGridView顯示資料的兩種方法

來源:互聯網
上載者:User

標籤:datagridview   資料   

1.簡單介紹

  DataGridView空間是我們常用的顯示資料的控制項,它有極高的可配置性和可擴充性。

2.顯示資料

  DataGridView顯示資料一般我們常用的有兩種方法,一種是直接設定DataSoure屬性就可以綁定資料。此方法不需要寫任何代碼操作比較簡單,但是它顯示出來的是整張表的資料。如果整一表資料比較多,而且我們並不需要所有的資料的情況下,我們就應該考慮第二種方法了。通過寫代碼串連資料庫並從資料庫中讀取資料,最後將返回的資料傳給DataGridView。這種方法貌似比較複雜,但是它只顯示我們需要的資料,相比成千上萬的資料,效率法爾明顯提高了。

  下面就簡單介紹一下這兩種方法:

  第一種通過屬性設定

  首先在屬性視窗找到DataSource屬性,點擊下拉框。第一次用,以前每添加過的話,點擊添加資料來源

                                   

  選擇資料類型,下一步,選擇資料集,下一步

           

  選擇資料連線,點建立串連

  

  在添加連結對話方塊中更改資料來源(我用的SQL Server資料庫),點擊下拉框選擇伺服器名稱(點號預設為自己的伺服器)。然後在下面串連到資料處選擇資料庫,測試連結通過的話,點確定。這時又回到資料設定精靈,點下一步就可以在資料庫中選擇你要顯示的表了。

     

    添加完成後,運行表單資料就顯示出來了

  

  第二種方法就是通過寫代碼載入資料

  

<span style="font-family:KaiTi_GB2312;font-size:18px;">    '定義一個函數尋找規定日期內的收取金額    Public Function check_money(ByVal tstRecharge As Model.RechargeModel) As DataTable        Dim strSQL As String = "select * from Recharge_info where rechargeDateTime between @startdatetime and @enddatetime"        Dim params As SqlParameter() = {New SqlParameter("@startdatetime", tstRecharge.start_datetime), New SqlParameter("@enddatetime", tstRecharge.end_datetime)}        Dim helper As New SqlHelper        Dim dat = helper.GetDataTable(strSQL, CommandType.Text, params) '調用sqlhelper        Return dat '返回查到的資料表    End Function</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"> Dim db As New DAL.CkeckMoneyDAL '定義一個D層對象,用來調用D層函數    '定義一個函數,用來檢查D層尋找金額返回的資料    Public Function check_return(model As Model.RechargeModel) As DataTable        Dim dat = db.check_money(model)        If dat.Rows.Count = 0 Then '檢查D層返回的資料表中是否有資料            Return Nothing        Else            Return dat        End If    End Function</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"> Dim thisRecharge As New Model.RechargeModel '定義一個實體層對象,用來接收合止時間        thisRecharge.start_datetime = DateTimePicker1.Text        thisRecharge.end_datetime = DateTimePicker2.Text        Dim ub As New BLL.CheckMoneyBLL '定義一個B層對象,用來調用B層函數        If ub.check_return(thisRecharge) Is Nothing Then            MsgBox("該時間段內沒有記錄,請重新設定時間段!", MsgBoxStyle.Exclamation, vbOKOnly)        Else            dvwTitles.DataSource = ub.check_return(thisRecharge) '把查到的資料傳給datagridview        End If</span>
  顯示結果:

  

  兩種方法各有優缺點,我們需要根據自己的實際情況選擇使用。當我們只需要顯示整張表的資料或者表中資料不多的情況下,第一種方法最簡單不過來,不需要寫任何代碼。如果我們希望資料有選擇性的顯示,比如中就只顯示6月18日到6月20日期間的資料,通過寫代碼雖然貌似繁瑣,但是顯示結果一目瞭然,避免了我們從大量資料中尋找我們需要的資料,大大提高了效率。

  學習的道路上沒有捷徑,但是總有那麼一條會更適合你……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.