private void dgvAttTable_MouseUp(object sender, MouseEventArgs e) { try { int intSelCounts = dgvAttTable.SelectedRows.Count; IFeatureLayer pFLayer = m_pLayer as IFeatureLayer; if (intSelCounts == 0) { m_pSnippet.ClearSelectedMapFeatures(m_pActiveView, pFLayer); } else//Brushing on Map { for (int i = 0; i < intSelCounts; i++) { string value1 = dgvAttTable.SelectedRows[i].Cells[0].Value.ToString(); string whereClause = "FID =" + value1; if (m_pActiveView == null || pFLayer == null || whereClause == null || value1 == "") { return; } ESRI.ArcGIS.Carto.IFeatureSelection featureSelection = pFLayer as ESRI.ArcGIS.Carto.IFeatureSelection; // Dynamic Cast // Set up the query ESRI.ArcGIS.Geodatabase.IQueryFilter queryFilter = new ESRI.ArcGIS.Geodatabase.QueryFilterClass(); queryFilter.WhereClause = whereClause; // Invalidate only the selection cache. Flag the original selection m_pActiveView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeoSelection, null, null); // Perform the selection if (i == 0) { featureSelection.SelectFeatures(queryFilter, ESRI.ArcGIS.Carto.esriSelectionResultEnum.esriSelectionResultNew, false); } else { featureSelection.SelectFeatures(queryFilter, ESRI.ArcGIS.Carto.esriSelectionResultEnum.esriSelectionResultAdd, false); } } // Flag the new selection m_pActiveView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeoSelection, null, null); //Brushing to other graphs m_pBL.BrushingToOthers(pFLayer, this.Handle); } } catch (Exception ex) { frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog(); return; } }