Quantcast
Channel: Forums - ArcObjects SDKs
Viewing all articles
Browse latest Browse all 1374

Zoom to selected feature in Page layout

$
0
0
Hi,
I have text box in standalone application windows form application(ImapDocument) for parcel No when user click on Search the listview populated with the Parcel Info.
it work fine, I am using ImapDocument.
I need to zoom to this parcel in page layout and export to PDF or jpg when user click on Create Map/Print Button. I can't figure out how to do that.

I am using ArcgisDesktop 10.1


here is my code so far.

Code:

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
        License = New esriLicenseObj
        License.Initialize_ArcInfo()
        Try
         
            'strPath = "C:\Users\owner\Desktop\gis Dev\parcel.mxd" ' MXD path
            Dim pMapdoc as ImapDocument = New MapDocument
         
            pMapDoc.Open("C:\Users\owner\Desktop\gis Dev\parcel.mxd")

            'pActiveView = pMapDocument.PageLayout
            'pActiveView.Activate(hWnd)
            Dim pFeatureLayer As IFeatureLayer = CType(pMapDoc.Layer(0, 0), IFeatureLayer)
            Dim featureName As String = pFeatureLayer.Name
            Dim pMap As IMap
            ''Dim pLayer As ILayer
            Dim pActiveView As IActiveView
            pActiveView = pMapDoc.PageLayout
            pActiveView.Activate(GetDesktopWindow()) '(hWnd)

            'Dim pFeatureLayer As IFeatureLayer
            Dim pFeatureSelection As IFeatureSelection
            Dim pQueryFilter As IQueryFilter


            pMap = pMapDoc.Map(0) '  this is the solution



            pActiveView = pMap

            pQueryFilter = New QueryFilter

            ''First layer in the map
            'If Not TypeOf pMap.Layer(0) Is IFeatureLayer Then Exit Sub
            pFeatureLayer = pMap.Layer(0)
            pFeatureSelection = pFeatureLayer 'QI

            'Create the query filter
            pQueryFilter = New QueryFilter
            'pQueryFilter.SubFields = "PROP_ID"
            pQueryFilter.WhereClause = "PROP_ID = '" & UCase(txtParcel.Text) & "'"

            Dim pFClass As IFeatureClass = pFeatureLayer.FeatureClass

            Dim pFCursor As IFeatureCursor = pFClass.Search(pQueryFilter, True)

            'Invalidate only the selection cache
            'Flag the original selection
            pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing)




            'Perform the selection
            pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultNew, False)
            'Flag the new selection
            pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing)

     

            Dim pFeature As IFeature
            pFeature = pFCursor.NextFeature

            Dim nCols As Integer
            nCols = pFeature.Fields.FieldCount
            'define row
            'Dim nRows As Integer
            ''Me.Listsheet.ColumnHeaderCollection = nCols
            'nRows = pFeature.Fields.FieldCount


            For i = 2 To nCols - 1
                ' Me.lstResult.Items.Add(pFeature.Fields.Field(i).Name & "    " & pFeature.Value(i))
                Me.Listsheet.Items.Add(pFeature.Fields.Field(i).Name & "    " & pFeature.Value(i))
                'Me.tmpDT.DataSource(pFeature.Fields.Field(i).Name & "    " & pFeature.Value(i))
                'convertICursorToDataTable(tmpDT)
            Next

            ''Do not make any call to ArcObjects after ShutDownApplication()
            ' Get the license back to the ArcInfo
            ' License.ShutDown()
            ''****************************************************************
        Catch ex As Exception
            MsgBox(ex.ToString)
            Return
        End Try
        '******************************************************************************

    End Sub

Attachment 23487
Thank you
Attached Thumbnails
Click image for larger version

Name:	form.jpg‎
Views:	N/A
Size:	65.0 KB
ID:	23487  

Viewing all articles
Browse latest Browse all 1374

Trending Articles