Toon posts:

[ASP.NET] 'DataGridPageChangedEventArgs' is not defined

Pagina: 1
Acties:

Verwijderd

Topicstarter
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)
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.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:54
De class DataGridPageChangedEventArgs is gedefinieerd in de namespace System.Web.Ui.WebControls en die heb je nergens ge-import.

Dus, import die namespace of schrijf de class voluit (met z'n FQN):
System.Web.Ui.WebControls.DataGridPageChangedEventArgs.

redelijk basic eigenlijk

https://fgheysels.github.io/