Ik ben bezig met ASP.NET en VB.NET mijn 1ste webpagina te maken. Ik heb al een aantal tutorials doorgenomen en ben nu op het volgende probleem gestuit.
ik heb de volgende code:
datagrid.vb (code behind)
en datagrid.aspx
Wanneer ik deze code uitvoer (ik gebruik geen VS.NET, maar doe alles met de hand), krijg ik de volgende foutmelding:
Compiler Error Message: BC30002: Type 'DataGridPageChangedEventArgs' is not defined.
Source Error:
Line 37: end sub
Line 38:
Line 39: Sub DataGridBooks_PageChanger(Source As Object, E As
DataGridPageChangedEventArgs)
Line 40: ' Set the CurrentPageIndex before binding the grid
Line 41: DataGridBooks.CurrentPageIndex = E.NewPageIndex
Nu snap ik eerlijk gezegd niet waar dit mis op gaat. moet ik hier ook een:
Protected WithEvents DataGridBooks as System.Web.UI.WebControls.DataGrid
van maken? en zo ja, hoe moet ie dan genoemd worden?
Het grote nadeel van tutorials is dat ze ook weinig uit leggen (ik ben dan ook van plan om een boek te gaan kopen, maar ben er nog niet over uit welk) wat doet namelijk die regel? (die van protected WithEvents ...)
Ik hoop dat iemand me kan helpen. Het zal waarschijnlijk iets simpels zijn, maar ik zie het niet.
ik heb de volgende code:
datagrid.vb (code behind)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| Imports System.Data
Imports System.Data.OleDB
Public Class datagrid
Inherits System.Web.UI.Page
Protected WithEvents DataGridBooks as System.Web.UI.WebControls.DataGrid
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
BindData()
End If
End Sub
Private sub BindData()
Dim ds As Dataset
Dim objConnection As OleDbConnection
Dim strSQLQuery As String
Dim objCommand as OleDbDataAdapter
'set up connection
objConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("book-dvd.mdb"))
'Sql syntax
strSQLQuery = "select * from books"
'open connection
objCommand = new OleDbDataAdapter(strSQLQuery, objConnection)
'fill dataset
ds = new DataSet()
objCommand.Fill(ds, "books")
'select data view and bind to server control
DataGridBooks.DataSource = ds.Tables("books").DefaultView
DataGridBooks.DataBind()
end sub
Sub DataGridBooks_PageChanger(Source As Object, E As DataGridPageChangedEventArgs)
' Set the CurrentPageIndex before binding the grid
DataGridBooks.CurrentPageIndex = E.NewPageIndex
BindData()
End Sub
End Class |
en datagrid.aspx
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| <%@ Page Language="vb" AutoEventWireup="false" Src="datagrid.vb" Inherits="datagrid"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>Datagrid test</title>
</HEAD>
<body>
<form id="frmDatagrid" method="post" runat="server">
<asp:datagrid id="DataGridBooks"
runat="server"
ItemStyle-Font-Size="x-small"
HeaderStyle-Font-Bold="True"
HeaderStyle-Font-Size="x-small"
AlternatingItemStyle-BackColor="#EFEFEF"
Cellpadding="4"
BorderWidth="1"
AutoGenerateColumns="False"
BorderStyle="Solid"
GridLines="Horizontal"
BorderColor="#404040"
Font-Names="Verdana,Arial,sans-serif"
Font-Size="11px"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
OnPageIndexChanged="DataGridBooks_PageChanger">
<AlternatingItemStyle BackColor="#E0E0E0"></AlternatingItemStyle>
<ItemStyle Font-Size="X-Small"></ItemStyle>
<HeaderStyle Font-Size="X-Small"
Font-Bold="True"
ForeColor="White"
BackColor="Teal"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<b>Books</b>
</HeaderTemplate>
<ItemTemplate>
<table border="1" Cellpadding="4" Cellspacing="0" Width="100%" style="FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, sans-serif">
<tr>
<td colspan="4">
<b>
<%# Container.DataItem("Titel") %>
</b>
</td>
</tr>
<tr>
<td width="25%" valign="top"><b>ID:</b></td>
<td width="25%" valign="top" nowrap>
<%# Container.DataItem("ID") %>
</td>
<td width="25%" valign="top"><b>Picture:</b></td>
<td width="25%" valign="top" nowrap>
<%# Container.DataItem("Picture") %>
</td>
</tr>
<tr>
<td width="25%" valign="top"><b>Author:</b></td>
<td width="25%" valign="top">
<%# Container.DataItem("Author") %>
</tr>
<tr>
<td width="25%" valign="top"><b>Misc:</b></td>
<td width="25%" valign="top" colspan="3">
<%# Container.DataItem("Gerne") %>
<br>
<%# Container.DataItem("Type") %>
<br>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
</form>
</body>
</HTML> |
Wanneer ik deze code uitvoer (ik gebruik geen VS.NET, maar doe alles met de hand), krijg ik de volgende foutmelding:
Compiler Error Message: BC30002: Type 'DataGridPageChangedEventArgs' is not defined.
Source Error:
Line 37: end sub
Line 38:
Line 39: Sub DataGridBooks_PageChanger(Source As Object, E As
DataGridPageChangedEventArgs)
Line 40: ' Set the CurrentPageIndex before binding the grid
Line 41: DataGridBooks.CurrentPageIndex = E.NewPageIndex
Nu snap ik eerlijk gezegd niet waar dit mis op gaat. moet ik hier ook een:
Protected WithEvents DataGridBooks as System.Web.UI.WebControls.DataGrid
van maken? en zo ja, hoe moet ie dan genoemd worden?
Het grote nadeel van tutorials is dat ze ook weinig uit leggen (ik ben dan ook van plan om een boek te gaan kopen, maar ben er nog niet over uit welk) wat doet namelijk die regel? (die van protected WithEvents ...)
Ik hoop dat iemand me kan helpen. Het zal waarschijnlijk iets simpels zijn, maar ik zie het niet.