I ran into the same thing. I can't imagine why ESRI did this. The good news is that creating your own custom filters is very simple. You just implement the IGxObjectFilter interface. Here's a class for a personal GDB filter:Imports ESRI.ArcGIS.Catalog
<ComClass(GxFilterPersonalGDB.ClassId, GxFilterPersonalGDB.InterfaceId, GxFilterPersonalGDB.EventsId)> _
Public Class GxFilterPersonalGDB
Implements IGxObjectFilter
#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. If you change them, existing
' clients will no longer be able to access the class.
Public Const ClassId As String = "cd8263cc-235c-435c-b1c2-030907db0349"
Public Const InterfaceId As String = "0029f6f3-0676-477d-8961-c514e2b59006"
Public Const EventsId As String = "d69cfde3-abaf-4b98-b8e3-c7c48dae7912"
#End Region
' A creatable COM class must have a Public Sub New()
' with no parameters, otherwise, the class will not be
' registered in the COM registry and cannot be created
' via CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public Function CanChooseObject(ByVal [object] As ESRI.ArcGIS.Catalog.IGxObject, ByRef result As ESRI.ArcGIS.Catalog.esriDoubleClickResult) As Boolean Implements ESRI.ArcGIS.Catalog.IGxObjectFilter.CanChooseObject
If Not TypeOf [object] Is IGxDatabase2 Then Return False
Dim gxDatabase As IGxDatabase2 = DirectCast([object], IGxDatabase2)
Return gxDatabase.Workspace.PathName.EndsWith(".mdb", StringComparison.CurrentCultureIgnoreCase)
End Function
Public Function CanDisplayObject(ByVal [object] As ESRI.ArcGIS.Catalog.IGxObject) As Boolean Implements ESRI.ArcGIS.Catalog.IGxObjectFilter.CanDisplayObject
If TypeOf [object] Is IGxFolder Then Return True
If Not TypeOf [object] Is IGxDatabase2 Then Return False
Dim gxDatabase As IGxDatabase2 = DirectCast([object], IGxDatabase2)
Return gxDatabase.Workspace.PathName.EndsWith(".mdb", StringComparison.CurrentCultureIgnoreCase)
End Function
Public Function CanSaveObject(ByVal Location As ESRI.ArcGIS.Catalog.IGxObject, ByVal newObjectName As String, ByRef objectAlreadyExists As Boolean) As Boolean Implements ESRI.ArcGIS.Catalog.IGxObjectFilter.CanSaveObject
If Not TypeOf Location Is IGxDatabase2 Then Return False
Dim gxDatabase As IGxDatabase2 = DirectCast(Location, IGxDatabase2)
Return gxDatabase.Workspace.PathName.EndsWith(".mdb", StringComparison.CurrentCultureIgnoreCase)
End Function
Public ReadOnly Property Description() As String Implements ESRI.ArcGIS.Catalog.IGxObjectFilter.Description
Get
Return "Personal Geodatabases"
End Get
End Property
Public ReadOnly Property Name() As String Implements ESRI.ArcGIS.Catalog.IGxObjectFilter.Name
Get
Return "Personal Geodatabases"
End Get
End Property
End Class