標籤: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日期間的資料,通過寫代碼雖然貌似繁瑣,但是顯示結果一目瞭然,避免了我們從大量資料中尋找我們需要的資料,大大提高了效率。
學習的道路上沒有捷徑,但是總有那麼一條會更適合你……