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

Use DataTable as datasource?

1 Answer 322 Views
SiteMap
This is a migrated thread and some comments may be shown as answers.
Pierre
Top achievements
Rank 2
Iron
Iron
Pierre asked on 27 Nov 2009, 02:27 PM
I try to use a custom DataTable for the datasource. But i got no error, but nothing are displayed.

    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load  
 
        Dim dtTable As New DataTable  
        Dim dtRow As DataRow  
 
        dtTable.Columns.Add(New DataColumn("ID", System.Type.GetType("System.Int32")))  
        dtTable.Columns.Add(New DataColumn("Title", System.Type.GetType("System.String")))  
        dtTable.Columns.Add(New DataColumn("URL", System.Type.GetType("System.String")))  
        dtTable.Columns.Add(New DataColumn("ParentID", System.Type.GetType("System.Int32")))  
        dtTable.TableName = "SiteMap" 
        dtRow = dtTable.NewRow  
        dtRow.Item("ID") = 1  
        dtRow.Item("Title") = "Entreprise" 
        dtRow.Item("URL") = System.DBNull.Value  
        dtRow.Item("ParentID") = System.DBNull.Value  
        dtTable.Rows.Add(dtRow)  
 
        dtRow = dtTable.NewRow  
        dtRow.Item("ID") = 2  
        dtRow.Item("Title") = "Test" 
        dtRow.Item("URL") = "" 
        dtRow.Item("ParentID") = 1  
        dtTable.Rows.Add(dtRow)  
 
 
        SiteMap1.DataSource = dtTable  
    End Sub 

    <telerik:RadSiteMap runat="server" ID="SiteMap1"  Skin="WebBlue" 
        ShowNodeLines="true" MaxDataBindDepth="2" DataFieldID="ID" DataFieldParentID="ParentID" DataTextField="Title" > 
        <LevelSettings> 
            <telerik:SiteMapLevelSetting Level="0">  
                <ListLayout RepeatColumns="3" AlignRows="true" /> 
            </telerik:SiteMapLevelSetting> 
        </LevelSettings> 
    </telerik:RadSiteMap> 

any suggestion?

1 Answer, 1 is accepted

Sort by
0
Paul
Telerik team
answered on 27 Nov 2009, 02:38 PM
Hello Pierre,

You should call DataBind() method at the end, i.e.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim dtTable As New DataTable
    Dim dtRow As DataRow
 
    dtTable.Columns.Add(New DataColumn("ID", System.Type.GetType("System.Int32")))
    dtTable.Columns.Add(New DataColumn("Title", System.Type.GetType("System.String")))
    dtTable.Columns.Add(New DataColumn("URL", System.Type.GetType("System.String")))
    dtTable.Columns.Add(New DataColumn("ParentID", System.Type.GetType("System.Int32")))
 
    dtTable.TableName = "SiteMap"
    dtRow = dtTable.NewRow
    dtRow.Item("ID") = 1
    dtRow.Item("Title") = "Entreprise"
    dtRow.Item("URL") = System.DBNull.Value
    dtRow.Item("ParentID") = System.DBNull.Value
    dtTable.Rows.Add(dtRow)
 
    dtRow = dtTable.NewRow
    dtRow.Item("ID") = 2
    dtRow.Item("Title") = "Test"
    dtRow.Item("URL") = ""
    dtRow.Item("ParentID") = 1
    dtTable.Rows.Add(dtRow)
 
    SiteMap1.DataSource = dtTable
    SiteMap1.DataBind()
End Sub


Regards,
Paul
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
SiteMap
Asked by
Pierre
Top achievements
Rank 2
Iron
Iron
Answers by
Paul
Telerik team
Share this question
or