This is a migrated thread and some comments may be shown as answers.

RadGrid code not working after upgrade

2 Answers 87 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Kent
Top achievements
Rank 1
Kent asked on 12 Jan 2011, 03:46 AM
Here is the code that worked previously and is throwing an exception now.  Its purpose is to set the column header based on a datasets caption property.  I think I went from Q1 2010 to current.  I will also show some strange debug watch results.

Private Sub RadGrid_ColumnCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridColumnCreatedEventArgs) Handles RadGrid.ColumnCreated
    Dim field As String
    Try
        field = e.Column.HeaderText
        If Not field = Nothing And field <> "" Then
            If DataSet.Tables(TableName).Columns(field).ColumnName = "ID" Then
                'e.Column.Display = False ' this causes some strange formatting problems
            ElseIf DataSet.Tables(TableName).Columns(field).Caption() = _
                DataSet.Tables(TableName).Columns(field).ColumnName Then
                e.Column.Visible = False
            Else
                e.Column.HeaderText = DataSet.Tables(TableName).Columns(field).Caption()
                e.Column.HeaderStyle.Wrap = False
            End If
        End If
    Catch ex As Exception
    End Try
End Sub

The exception is being caught when trying to evaluate:DataSet.Tables(TableName).Columns(field).ColumnName

Here are the watch results on one of the passes.  The field xx_tablename is expected.  I am setting field = e.Column.HeaderText early on. 
DataSet.Tables(TableName).Columns(0).ColumnName xx_tablename String
e.Column.HeaderText xx_ tablename String
DataSet.Tables(TableName).Columns("xx_tablename").ColumnName xx_tablename String
field xx_ tablename String
DataSet.Tables(TableName).Columns(field).ColumnName Referenced object 'Item' has a value of 'Nothing'.
ex.message Object reference not set to an instance of an object. String

If I hard code variable field to "xx_tablename" in the beginning it does not error out and I get the result I want.

2 Answers, 1 is accepted

Sort by
0
Accepted
Iana Tsolova
Telerik team
answered on 17 Jan 2011, 10:12 AM
Hello Kent,

Try modifying the code as below and see if it makes any difference:

Private Sub RadGrid_ColumnCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridColumnCreatedEventArgs) Handles RadGrid.ColumnCreated 
    Dim field As String
    Try
        field = e.Column.UniqueName
        If Not field = Nothing And field <> "" Then
            If DataSet.Tables(TableName).Columns(field).ColumnName = "ID" Then
                'e.Column.Display = False ' this causes some strange formatting problems 
            ElseIf DataSet.Tables(TableName).Columns(field).Caption() = _ 
                DataSet.Tables(TableName).Columns(field).ColumnName Then
                e.Column.Visible = False
            Else
                e.Column.HeaderText = DataSet.Tables(TableName).Columns(field).Caption() 
                e.Column.HeaderStyle.Wrap = False
            End If
        End If
    Catch ex As Exception 
    End Try
End Sub


Kind regards,
Iana
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
0
Kent
Top achievements
Rank 1
answered on 20 Jan 2011, 05:20 AM
That did it perfect, thanks!
Tags
Grid
Asked by
Kent
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
Kent
Top achievements
Rank 1
Share this question
or