GridView

Discussion in 'ASP .Net' started by shapper, Jan 31, 2007.

  1. shapper

    shapper Guest

    Hello,

    I am trying to create a ItemTemplate at runtime for a ComponentArt
    Grid.

    This GridView works in a very similar way to the Asp.Net 2.0 GridView
    so the implementation method should be the same.

    When I don't use the ItemTemplate everything works fine.

    However, when I use the ItemTemplate I get the following error:

    "Exception Details: System.NullReferenceException: Object reference
    not set to an instance of an object."

    On the code line

    lCollaborator.Text = tcCollaborator.DataItem("Name").ToString &
    tcCollaborator.DataItem("City").ToString

    I think my problem is really the binding method.

    Could someone please tell me what might be wrong? I also tried using
    the Asp.Net 2.0 GridView and I am getting the same problems.

    I post my VB.NET code. Please, fell free to answer in VB.NET or C#.

    GRID.aspx.vb

    1 Partial Class Grid
    2 Inherits System.Web.UI.Page
    3
    4 ' -- [Controls] -------------------------------------------
    5
    6 Protected WithEvents cagCollaborators As New
    ComponentArt.Web.UI.Grid
    7
    8
    9 ' -- [Events and Methods]
    -------------------------------------------
    10
    11 ' Page_Init
    12 Protected Sub Page_Init(ByVal sender As Object, ByVal e As
    EventArgs) Handles Me.Init
    13
    14 phGrid.Controls.Add(cagCollaborators)
    15
    16 End Sub ' Page_Init
    17
    18 ' Page_Load
    19 Protected Sub Page_Load(ByVal sender As Object, ByVal e As
    EventArgs) Handles Me.Load
    20
    21 ' Create grid server template
    22 Dim cagstCollaborators As ComponentArt.Web.UI.GridServerTemplate
    = New ComponentArt.Web.UI.GridServerTemplate()
    23
    24 ' Create grid template
    25 Dim gitCollaborators As GridITemplate = New GridITemplate
    26 cagstCollaborators.Template = gitCollaborators
    27 cagstCollaborators.ID = "cagstCollaborators"
    28
    29 ' Add grid server template to grid
    30 cagCollaborators.ServerTemplates.Add(cagstCollaborators)
    31
    32 ' Create grid column
    33 Dim gcCollaborators As ComponentArt.Web.UI.GridColumn = New
    ComponentArt.Web.UI.GridColumn
    34 gcCollaborators.DataCellServerTemplateId = "cagstCollaborators"
    35
    36 ' Create grid level
    37 Dim glCollaborators As New ComponentArt.Web.UI.GridLevel
    38 glCollaborators.Columns.Add(gcCollaborators)
    39
    40 ' Add grid level to grid
    41 cagCollaborators.Levels.Add(glCollaborators)
    42
    43 ' Bind grid
    44 cagCollaborators.DataBind()
    45
    46 End Sub ' Page_Load
    47
    48 ' {Grid} ...
    49
    50 ' cagCollaborators_Init
    51 Private Sub cagCollaborators_Init(ByVal sender As Object, ByVal e
    As EventArgs) Handles cagCollaborators.Init
    52
    53 ' Define cagCollaborators properties
    54 With cagCollaborators
    55 .ApplyStyleSheetSkin(Me.Page)
    56 .AllowEditing = False
    57 .ID = "cagCollaborators"
    58 .RunningMode = GridRunningMode.Client
    59 .ShowHeader = False
    60 .Width = Unit.Percentage(100)
    61 End With
    62
    63 End Sub ' cagCollaborators_Init
    64
    65 ' cagCollaborators_NeedRebind
    66 Public Sub cagCollaborators_NeedRebind(ByVal sender As Object,
    ByVal oArgs As System.EventArgs) Handles cagCollaborators.NeedRebind
    67
    68 ' Bind grid
    69 cagCollaborators.DataBind()
    70
    71 End Sub ' cagCollaborators_NeedRebind
    72
    73 ' cagCollaborators_NeedDataSource
    74 Public Sub cagCollaborators_NeedDataSource(ByVal sender As
    Object, ByVal oArgs As System.EventArgs) Handles
    cagCollaborators.NeedDataSource
    75
    76 ' Define collaborators grid datasource
    77 cagCollaborators.DataSource = Collaborators()
    78
    79 ' Bind collaborators grid
    80 cagCollaborators.DataBind()
    81
    82 End Sub ' cagCollaborators_NeedDataSource
    83
    84 ' cagCollaborators_PageIndexChanged
    85 Public Sub cagCollaborators_PageIndexChanged(ByVal sender As
    Object, ByVal oArgs As
    ComponentArt.Web.UI.GridPageIndexChangedEventArgs) Handles
    cagCollaborators.PageIndexChanged
    86
    87 ' Define current page index
    88 cagCollaborators.CurrentPageIndex = oArgs.NewIndex
    89
    90 End Sub ' cagCollaborators_PageIndexChanged
    91
    92 ' Collaborators
    93 Public Shared Function Collaborators() As DataTable
    94
    95 ' Create collaborators data table
    96 Dim dtCollaborators As New DataTable
    97
    98 ' Add columns to collaborators data table
    99 With dtCollaborators.Columns
    100 .Add(New DataColumn("Name", GetType(String)))
    101 .Add(New DataColumn("Mobile", GetType(String)))
    102 .Add(New DataColumn("Email", GetType(String)))
    103 .Add(New DataColumn("City", GetType(String)))
    104 End With
    105
    106 ' Create and add a new collaborator row
    107 Dim drRow01 As DataRow
    108 drRow01 = dtCollaborators.NewRow
    109
    110 ' Define collaborator row values
    111 drRow01("Name") = "John"
    112 drRow01("Mobile") = "983498223"
    113 drRow01("Email") = ""
    114 drRow01("City") = "New York"
    115
    116 ' Add row to collaborators data table
    117 dtCollaborators.Rows.Add(drRow01)
    118
    119 ' Create and add a new collaborator row
    120 Dim drRow02 As DataRow
    121 drRow02 = dtCollaborators.NewRow
    122
    123 ' Define collaborator row values
    124 drRow02("Name") = "Andrew"
    125 drRow02("Mobile") = "983498223"
    126 drRow02("Email") = ""
    127 drRow02("City") = "Paris"
    128
    129 ' Add row to collaborators data table
    130 dtCollaborators.Rows.Add(drRow02)
    131
    132 ' Return collaborators data table
    133 Return dtCollaborators
    134
    135 End Function ' Collaborators
    136
    137
    138 ' -- [Sub Classes] -------------------------------------------
    139
    140 Public Class GridITemplate
    141 Implements System.Web.UI.ITemplate
    142
    143
    144 ' -- [Controls] -------------------------------------------
    145
    146 ' ---- {ASP.NET} ----
    147
    148 ' {Label} ...
    149 Protected WithEvents lCollaborator As New Label
    150
    151 ' -- [Events and Methods]
    -------------------------------------------
    152
    153 ' {Label} ...
    154
    155 ' lCollaborator_Init
    156 Private Sub lCollaborator_Init(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles lCollaborator.Init
    157
    158 ' Define lCollaborator properties
    159 With lCollaborator
    160 .CssClass = Me.CssClass
    161 .ID = "lCollaborator"
    162 End With
    163
    164 End Sub ' lCollaborator_Init
    165
    166
    167 ' ---- {ASP.NET Item Template} ----
    168
    169 ' InstantiateIn
    170 Public Sub InstantiateIn(ByVal container As Control) Implements
    ITemplate.InstantiateIn
    171
    172 ' Define template container
    173 Dim tcCollaborator As
    ComponentArt.Web.UI.GridServerTemplateContainer
    174 tcCollaborator = CType(container,
    ComponentArt.Web.UI.GridServerTemplateContainer)
    175
    176 ' Define lCollaborator text
    177 lCollaborator.Text = tcCollaborator.DataItem("Name").ToString &
    tcCollaborator.DataItem("City").ToString
    178
    179 ' Add item template child controls
    180 container.Controls.Add(lCollaborator)
    181
    182 End Sub ' InstantiateIn
    183
    184 End Class ' GridITemplate
    185
    186 End Class
    187
    188
    189

    Thank You Very Much,

    Miguel
     
    shapper, Jan 31, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Nalaka

    GridView in a GridView

    Nalaka, Nov 11, 2005, in forum: ASP .Net
    Replies:
    6
    Views:
    6,612
    Nalaka
    Dec 5, 2005
  2. Replies:
    3
    Views:
    5,116
  3. Carlos Albert

    GridView in a GridView

    Carlos Albert, Dec 5, 2005, in forum: ASP .Net
    Replies:
    2
    Views:
    505
    Carlos Albert
    Dec 6, 2005
  4. Carlos Albert

    Gridview inside Gridview little problems...

    Carlos Albert, Dec 6, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    3,662
    Carlos Albert
    Dec 6, 2005
  5. =?Utf-8?B?bWdvbnphbGVzMw==?=

    GridView Hierarchical View - Gridview in Gridview

    =?Utf-8?B?bWdvbnphbGVzMw==?=, May 9, 2006, in forum: ASP .Net
    Replies:
    1
    Views:
    17,982
    =?Utf-8?B?UGhpbGxpcCBXaWxsaWFtcw==?=
    May 9, 2006
Loading...

Share This Page