ThinkGeo.com    |     Documentation    |     Premium Support

InMemoryFeatureLayer Add Columns

MapSuite Team,



I’d like to resolve the compile warning that is present with WpfDesktopEdition that began with V9.  This is the compile warning when adding columns to an InMemoryFeatureLayer as shown by the code below.



The warning states  to “pass in the columns through the constructor”.  Is this the InMemoryFeatureLayer Constructor?



I’d like to add the columns only once and then add the features.  I use InMemoryFeatureLayer as a tracking layer so features are always being added/updated/deleted.



Is there a code example that shows how to add the columns just once as was done pre-V9?



Thanks,

Dennis




fscColumn = new FeatureSourceColumn(“Label”,     “string”, 48 );
this.TrackingLayer.Columns.Add(fscColumn);
fscColumn = new FeatureSourceColumn(“Key Item”,   “string”, 32 );
this.TrackingLayer.Columns.Add(fscColumn);
fscColumn = new FeatureSourceColumn(“Key Symbol”“string”, 116);
this.TrackingLayer.Columns.Add(fscColumn);








Hi Dennis, 
  
 You can pass in the columns when the feature layer class instantiation,you can find the constructor like this: 
  
 public InMemoryFeatureLayer(IEnumerable<FeatureSourceColumn> featureSourceColumns, IEnumerable<BaseShape> shapes) 
 public InMemoryFeatureLayer(IEnumerable<FeatureSourceColumn> featureSourceColumns, IEnumerable<Feature> features) 
  
 So the code should looks like: 
  
 Collection<FeatureSourceColumn> columns = new Collection<FeatureSourceColumn>();

            FeatureSourceColumn fscColumn = new FeatureSourceColumn("Label", "string", 48);
            columns.Add(fscColumn);
            fscColumn = new FeatureSourceColumn("Key Item", "string", 32);
            columns.Add(fscColumn);
            fscColumn = new FeatureSourceColumn("Key Symbol", "string", 116);
            columns.Add(fscColumn);

            InMemoryFeatureLayer TrackingLayer = new InMemoryFeatureLayer(columns, new Collection<Feature>()); 
 
  
 Regards, 
  
 Don

Don,



Thanks for the code example it worked great.



Regards,

Dennis


Hi Dennis, 
  
 Any question please let us know. 
  
 Regards, 
  
 Don