Web Form-ууд нь єгєгдлийн баазтай холбогдохдоо ADO.NET-ийг ашигладаг. Та ємнєх хичээлvvд дээр єгєгдлийн баазтай ажиллах DataSet, DataAdapter, Connection объектуудын тухай vзсэн билээ. Web Form-д та энэ бvх объектуудыг ашиглан DataGrid, ListBox, ComboBox г.м контролуудыг єгєгдлєєр дvvргэнэ.
Дараах функцыг єгєгдлийн эхтэй холбоход ашигладгийг та мэдэх биз ээ. Мэдээж єєрийн хэрэглэх Provider, бааз-ийг тодорхойлж єгнє.
Public Function ConnectStringBuild() As String
Dim strConn As String
strConn = "Provider=sqloledb"
strConn &= ";Data Source=(local)"
strConn &= ";Initial Catalog=Northwind"
strConn &= ";User ID=sa"
strConn &= ";Password="
Return strConn
End Sub
Дараах код нь Customer combo-г хуудасыг анх уншихад дvvргэээд, Customer combo-гоос утга сонгох бvрд Orders combo-г Customer утгаас хамаарч дvvргэнэ.
Private Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
If Not Page.IsPostBack Then
CustLoad()
End If
End Sub
Private Sub CustLoad()
Dim oAdapter As OleDb.OleDbDataAdapter
Dim oTable As DataTable
Dim strSQL As String
Dim strConn As String
strConn = ConnectStringBuild()
strSQL = "SELECT CustomerID, CompanyName "
strSQL &= " FROM Customers ORDER BY CompanyName"
oAdapter = New OleDb.OleDbDataAdapter(strSQL, strConn)
oTable = New DataTable()
oAdapter.Fill(oTable)
With cboCust
.DataSource = oTable
.DataTextField = "CompanyName"
.DataValueField = "CustomerID"
.DataBind()
End With
End Sub
Private Sub OrdersLoad()
Dim oAdapter As OleDb.OleDbDataAdapter
Dim oTable As DataTable
Dim strSQL As String
Dim strConn As String
strConn = ConnectStringBuild()
strSQL = "SELECT OrderID, OrderDate "
strSQL &= "FROM Orders WHERE CustomerID = '"
strSQL &= cboCust.SelectedItem.Value & "'"
oAdapter = New OleDb.OleDbDataAdapter(strSQL, strConn)
oTable = New DataTable()
oAdapter.Fill(oTable)
With cboOrders
.Items.Clear()
.DataSource = oTable
.DataTextField = "OrderDate"
.DataValueField = "OrderID"
.DataBind()
End With
End Sub
Private Sub cboCust_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles cboCust.SelectedIndexChanged
Call OrdersLoad()
End Sub
GrdProducts нэртэй DataGrid контролыг хэрхэн єгєгдлєєр бэхлэхийг доор бичлээ.
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
'Put user code to initialize the page here
GridLoad()
End Sub
Private Sub GridLoad()
Dim oAdapter As OleDb.OleDbDataAdapter
Dim oTable As DataTable
Dim strSQL As String
Dim strConn As String
strSQL = SQLBuild()
strConn = ConnectStringBuild()
oAdapter = New OleDb.OleDbDataAdapter(strSQL, strConn)
oTable = New DataTable()
oAdapter.Fill(oTable)
grdProducts.DataSource = oTable.DefaultView
grdProducts.DataBind()
End Sub
Хэрэв танд олон мєр бvхий хvснэгт буй бол тэднийг нэг дор бvгдийг нь харуулах тохиромжгvй, удаан байх нь ойлгомжтой. Тиймд єгєгдлийн хуудас хуудсаар хардаг болгох талаар жишээ vзье.
DataGrid контролын AllowPaging property-г true болгон, PageSize property-д нэг хуудасанд хэдэн мєр байхыг тодорхойлж (Default утга нь 10) дараах хэсэг мєрийг нэмж єгєхєд л хангалттай.
Private Sub grdProducts_PageIndexChanged( _
ByVal source As Object, _
ByVal e As _ System.Web.UI.WebControls.DataGridPageChangedEventArgs)
Handles grdProducts.PageIndexChanged
grdProducts.CurrentPageIndex = e.NewPageIndex
GridLoad()
End Sub
Дээр жишээг ажилуулбал хуудсууд руу шилжихдээ “<” ба ”>” ашиглана. Гэхдээ vvнийг єєрийн хvсснээр єєрчлєх бvрэн боломжтой.