Infragistic to Telerik - RadTabStrib

4 posts, 0 answers
  1. Roderick
    Roderick avatar
    10 posts
    Member since:
    Aug 2008

    Posted 14 Apr 2009 Link to this post

    Hi, I have the same desire radtabStrib1 a dynamically loaded from a table in SQL, this is toward controls Infragistic but now I use it with RadTabStrib but I get an error. 
    original code:
    Imports System.Data  
    Imports System.Data.SqlClient  
    Imports System.Web.SessionState  
    Imports System.Web.SessionState.HttpSessionState  
    Imports System.Web.Security  
    Partial Class Default2  
        Inherits System.Web.UI.Page  
     
        Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load  
            Dim rd As SqlClient.SqlDataReader  
            If Not Me.IsPostBack Then 
                Me.lblUsuario.Text = Session("UserId")  
            End If 
            Dim dsUrls As New DataTable  
            'Conexion al Server ------------------------  
            Dim cnDatos As New SqlConnection(ConfigurationManager.ConnectionStrings("WebSiteConnectionString").ConnectionString)  
            Dim daUrls As New SqlDataAdapter("spWebUrlsAdmin", cnDatos)  
     
            cnDatos.Open()  
     
            daUrls.SelectCommand.CommandType = CommandType.StoredProcedure  
            daUrls.SelectCommand.Parameters.Add(New SqlParameter("@pUserId", SqlDbType.Char, 10))  
            daUrls.SelectCommand.Parameters("@pUserID").Value = Session("UserId")  
     
            daUrls.Fill(dsUrls)  
     
            rd = daUrls.SelectCommand.ExecuteReader()  
     
            While (rd.Read())  
                Dim tb As New Infragistics.WebUI.UltraWebTab.Tab(rd.GetString(0))  
                tb.Key = rd.GetString(0)  
                UltraWebTab1.Tabs.Add(tb)  
                UltraWebTab1.Tabs.FromKeyTab(rd.GetString(0)).ContentPane.TargetUrl() = rd.GetString(1)  
            End While 
            rd.Close()  
            cnDatos.Close()  
        End Sub 
    End Class 

    New Code:
    Public Function cargartab()  
            Dim rd As SqlClient.SqlDataReader  
            Dim dsUrls As New DataTable  
            Dim cnDatos As New SqlConnection(ConfigurationManager.ConnectionStrings("WebSiteConnectionString").ConnectionString)  
            Dim daUrls As New SqlDataAdapter("spWebUrlsAdmin", cnDatos)  
            cnDatos.Open()  
            daUrls.SelectCommand.CommandType = CommandType.StoredProcedure  
            daUrls.SelectCommand.Parameters.Add(New SqlParameter("@pUserId", SqlDbType.Char, 10))  
            daUrls.SelectCommand.Parameters("@pUserID").Value = Session("UserId")  
            daUrls.Fill(dsUrls)  
            rd = daUrls.SelectCommand.ExecuteReader()  
     
            While (rd.Read())  
                Dim tb As New Telerik.Web.UI.RadTab(rd.GetString(0))   
                tb.AccessKey = 0 'rd.GetString(0)  
     
                Me.RadTabStrip1.Tabs.Add(tb)  
                'Me.RadTabStrip1.Tabs(0).Text = rd.GetString(0)  
     
                'Me.RadTabStrip1.Tabs.FromKeyTab(rd.GetString(0)).ContentPane.TargetUrl() = rd.GetString(1)  
                Me.RadTabStrip1.Tabs.Add(ResolveUrl(rd.GetString(1))  
            End While 
            rd.Close()  
            cnDatos.Close()  
        End Function 
  2. Simon
    Admin
    Simon avatar
    2281 posts

    Posted 20 Apr 2009 Link to this post

    Hello Roderick,

    Thank you for providing the erroneous code.

    The RadTabCollection object does not provide a FromKeyTab method. Please use FindTabByValue instead.

    Additionally, a RadTab object does not have a Content Pane. You could use the NavigateUrl property instead to specify a URL, which will be opened if the Tab is clicked.

    Public Function cargartab()  
        Dim rd As SqlClient.SqlDataReader  
        Dim dsUrls As New DataTable  
        Dim cnDatos As New SqlConnection(ConfigurationManager.ConnectionStrings("WebSiteConnectionString").ConnectionString)  
        Dim daUrls As New SqlDataAdapter("spWebUrlsAdmin", cnDatos)  
        cnDatos.Open()  
        daUrls.SelectCommand.CommandType = CommandType.StoredProcedure  
        daUrls.SelectCommand.Parameters.Add(New SqlParameter("@pUserId", SqlDbType.Char, 10))  
        daUrls.SelectCommand.Parameters("@pUserID").Value = Session("UserId")  
        daUrls.Fill(dsUrls)  
        rd = daUrls.SelectCommand.ExecuteReader()  
     
        While (rd.Read())  
            Dim tb As New Telerik.Web.UI.RadTab(rd.GetString(0))  
            tb.AccessKey = 0 'rd.GetString(0)     
     
            Me.RadTabStrip1.Tabs.Add(tb)  
            'Me.RadTabStrip1.Tabs(0).Text = rd.GetString(0)     
     
            'Me.RadTabStrip1.Tabs.FromKeyTab(rd.GetString(0)).ContentPane.TargetUrl() = rd.GetString(1)  
            Me.RadTabStrip1.Tabs.FindTabByValue(rd.GetString(0)).NavigateUrl = rd.GetString(1)  
            Me.RadTabStrip1.Tabs.Add(ResolveUrl(rd.GetString(1))     
        End While 
        rd.Close()  
        cnDatos.Close()  
    End Function 

    All the best,
    Simon
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.
  3. Roderick
    Roderick avatar
    10 posts
    Member since:
    Aug 2008

    Posted 21 May 2009 Link to this post

    Well I tried with the suggested changes but still continues to send me some errors

    1. Me.RadTabStrip1.Tabs.FindTabByValue(rd.GetString(0)).NavigateUrl = rd.GetString(1)  
    2. Me.RadTabStrip1.Tabs.Add(ResolveUrl(rd.GetString(1)))   -----> Error: Un valor de tipo String no se puede convertir en 'Telerik.Web.UI.RadTab' 

    If this line of code commented so I have another error in the line above ---> Error:

    Referencia a objeto no establecida como instancia de un objeto.

    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

    Detalles de la excepción: System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

    Error de código fuente:

    Línea 27:             tb.AccessKey = 0
    Línea 28:             Me.RadTabStrip1.Tabs.Add(tb)
    Línea 29: Me.RadTabStrip1.Tabs.FindTabByValue(rd.GetString(0)).NavigateUrl = rd.GetString(1)Línea 30:             'Me.RadTabStrip1.Tabs.Add(ResolveUrl(rd.GetString(1)))
    Línea 31: 

  4. Simon
    Admin
    Simon avatar
    2281 posts

    Posted 25 May 2009 Link to this post

    Hello Roderick,

    Please use a debugger to verify which object exactly is null, perhaps the FindTabByValue method does not find any Tab. In this case, you must make sure that each Tab has its Value property set.

    Greetings,
    Simon
    the Telerik team

    Instantly find answers to your questions on the newTelerik Support Portal.
    Check out the tipsfor optimizing your support resource searches.
Back to Top