I ended up doing like this below. It works but I don't like how it looks in the code.
SiteMapPlus.ascx.vb
Imports DotNetNuke
Imports System.Web.UI
Imports System.Collections.Generic
Imports System.Reflection
Imports DotNetNuke.Security.PortalSecurity
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Partial Class DesktopModules_SiteMapPlus
Inherits Entities.Modules.PortalModuleBase
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
ShowDataPlus()
End If
End Sub
Private Sub ShowDataPlus()
Dim mySqlString As New StringBuilder()
mySqlString.Append("SELECT TabID,TabName ")
mySqlString.Append("FROM {databaseOwner}{objectQualifier}Tabs ")
mySqlString.Append("WHERE PortalID = ")
mySqlString.Append(PortalSettings.ActiveTab.PortalID)
mySqlString.Append(" AND (")
mySqlString.Append("ParentId <> ")
mySqlString.Append(PortalSettings.AdminTabId)
mySqlString.Append(" OR ")
mySqlString.Append("ParentId IS NULL )")
mySqlString.Append(" AND ")
mySqlString.Append("TabID <> ")
mySqlString.Append(PortalSettings.AdminTabId)
mySqlString.Append(" AND ")
mySqlString.Append("TabName like @SearchString + '%' ")
mySqlString.Append("ORDER BY TabName ASC")
Response.Write(mySqlString)
Dim myParam As SqlParameter = New SqlParameter("@SearchString", SqlDbType.VarChar, 150)
myParam.Value = "a"
DataList1.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList1.DataBind()
myParam.Value = "b"
DataList2.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList2.DataBind()
myParam.Value = "c"
DataList3.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList3.DataBind()
myParam.Value = "d"
DataList4.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList4.DataBind()
myParam.Value = "e"
DataList5.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList5.DataBind()
myParam.Value = "f"
DataList6.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList6.DataBind()
myParam.Value = "g"
DataList7.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList7.DataBind()
myParam.Value = "h"
DataList8.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList8.DataBind()
myParam.Value = "i"
DataList9.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList9.DataBind()
myParam.Value = "j"
DataList10.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList10.DataBind()
myParam.Value = "k"
DataList11.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList11.DataBind()
myParam.Value = "l"
DataList12.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList12.DataBind()
myParam.Value = "m"
DataList13.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList13.DataBind()
myParam.Value = "n"
DataList14.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList14.DataBind()
myParam.Value = "o"
DataList15.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList15.DataBind()
myParam.Value = "p"
DataList16.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList16.DataBind()
myParam.Value = "q"
DataList17.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList17.DataBind()
myParam.Value = "r"
DataList18.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList18.DataBind()
myParam.Value = "s"
DataList19.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList19.DataBind()
myParam.Value = "t"
DataList20.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList20.DataBind()
myParam.Value = "u"
DataList21.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList21.DataBind()
myParam.Value = "v"
DataList22.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList22.DataBind()
myParam.Value = "w"
DataList23.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList23.DataBind()
myParam.Value = "x"
DataList24.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList24.DataBind()
myParam.Value = "y"
DataList25.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList25.DataBind()
myParam.Value = "z"
DataList26.DataSource = CType(DataProvider.Instance().ExecuteSQL(mySqlString.ToString(), myParam), IDataReader)
DataList26.DataBind()
End Sub
Public Function formatURL(ByVal strTabID As String) As String
Return NavigateURL(Int32.Parse(strTabID))
End Function
End Class