Hi All,
I am having a code which displays Pie chart and label of the polygon.
But when I display Pie char the label is not displayed. What am I missing / doing wrong.
Regards,
Arun
Here is the Code i am using
private void DisplayLabels(ILayer pFLayer, string feildName)
{
IGeoFeatureLayer pGeoFeatureLayer;
pGeoFeatureLayer = (IGeoFeatureLayer)pFLayer;
//string strFieldName = "Name";
IAnnotateLayerPropertiesCollection pAnnoLayerPropsColl;
pAnnoLayerPropsColl = pGeoFeatureLayer.AnnotationProperties;
pGeoFeatureLayer.DisplayAnnotation = true;
IAnnotateLayerProperties pAnnoLayerProps;
IElementCollection iec;
pAnnoLayerPropsColl.QueryItem(0, out pAnnoLayerProps, out iec, out iec);
ILabelEngineLayerProperties pLabelEngineLayerProps;
pLabelEngineLayerProps = (ILabelEngineLayerProperties)pAnnoLayerProps;
pAnnoLayerPropsColl.Add(pAnnoLayerProps);
pLabelEngineLayerProps.BasicOverposterLayerProperties.PointPlacementOnTop = true;
pLabelEngineLayerProps.Expression = "[" + feildName + "]";
}
private void displayPieChartmdbtable(IFeatureLayer FirstLayer, int maxval)
{
IChartRenderer pChartRenderer;
IRendererFields pRendererFields;
IPieChartRenderer pPieChartRenderer;
IGeoFeatureLayer pGeoFeatureLayer;
axMapControl1.ClearLayers();
pGeoFeatureLayer = (IGeoFeatureLayer)FirstLayer;
pChartRenderer = new ChartRenderer();
pRendererFields = (IRendererFields)pChartRenderer;
int numberOfClasses = AddFeildsToRendererAccordingToUserSelection(ref pRendererFields);
pPieChartRenderer = (IPieChartRenderer)pChartRenderer;
// calculateMaxValueofShapeFile(FirstLayer);
IPieChartSymbol pPieChartSymbol = CreatePieChart(pChartRenderer, numberOfClasses, maxval);
//' Disable overpoaster so that charts appear in the centre of polygons
pChartRenderer.UseOverposter = false;
//' Update the renderer and refresh the screen
pPieChartRenderer.MinSize = 6;
pPieChartRenderer.MinValue = 300;
pPieChartRenderer.FlanneryCompensation = false;
pChartRenderer.ChartSymbol = (IChartSymbol)pPieChartSymbol;
pChartRenderer.CreateLegend();
pGeoFeatureLayer.Renderer = (IFeatureRenderer)pChartRenderer;
axMapControl1.AddLayer(pGeoFeatureLayer);
// axMapControl1.Update();
//axMapControl1.Extent = Current_Envelope;
}