Проблема еще и в том что перешел с VB на C# недавно
Загружаю несколько слоев из DataReader'a там вьюшка с дата соурсом слоя и его именем
В стиле имеются все нужные условные знаки - они имеют name как у слоя
поехали:
code
////////////////////
pStyleGallery = pMxDocument.StyleGallery;
pStyleStorage = (IStyleGalleryStorage)pStyleGallery;
pEnumStyleGI = pStyleGallery.get_Items("Fill Symbols","ESRI.style","Default");
pStyleGI = pEnumStyleGI.Next();
while (ReadData.Read())
{
pFeatureLayer = new FeatureLayerClass();
pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(System.Convert.ToString(ReadData["FEATURE"]));
pFeatureLayer.Name = System.Convert.ToString(ReadData["NAME"]);
pFeatureLayer.Visible = false;
// разукраска
pMyRender = null;
pMyRender = (ISimpleRenderer)pRender;
pEnumStyleGI = pStyleGallery.get_Items("Fill Symbols","ESRI.style","Default");
pStyleGI = pEnumStyleGI.Next();
while (pStyleGI != null)
{
if (Convert.ToString(pStyleGI.Name) == Convert.ToString(pFeatureLayer.Name))
{
//MessageBox.Show(Convert.ToString(pFeatureLayer.Name) + " - " + pStyleGI.Name,"");
pFillSymbol = (IFillSymbol)pStyleGI.Item;
pMyRender.Symbol = (ISymbol)pFillSymbol;
pFeatureLayer.Renderer = (IFeatureRenderer)pMyRender;
break;
}
else
{
pStyleGI = pEnumStyleGI.Next();
}
}
//
pMap.AddLayer(pFeatureLayer);
pMxDocument.ActiveView.ContentsChanged();
pMxDocument.ActiveView.Refresh();
pMxDocument.UpdateContents();
}
ReadData.Close();
////////////////////////
code
слои добавляются так - сначала первый (условный знак - как надо), далее второй (уз у него как надо и у предыдущего такой же), в конце концов - все загруженные слои имеют условный знак как у последнего загруженного.
Парюсь, блин. Хелп, кто могет