ThinkGeo.com    |     Documentation    |     Premium Support

DbfColumn and FeatureSourceColumn properties

Why on a DbfColumn when its casted to a FeatureSourceColumn the ColumnName, MaxLength and TypeName properties not populated?  I assumed they would report the DbfColumn ColumnName, Length and ColumnType.ToString() properties


I use the DbfColumn when converting from our own layer column format (from a custom system) because it allows me to preserve the type, length and decimal places of a column much better.  (our system was based on shape file sources)  But this appears to cause problems when trying to render our custom FeatureLayer that has DbfColumns for its columns.


I can probably convert back to FeatureSourceColumns and retain all the data I need, but seems like something may not be correct in the DbfColumn object.


Thanks



 Brian,



They have different field members, if you want to convert DbfColumn to FeatureSourceColumn, you can use following code:


FeatureSourceColumn featurSourceColumn = new FeatureSourceColumn(dbfColumn.ColumnName, dbfColumn.ColumnType.ToString(), dbfColumn.Length);


 Thanks,


 James




So DbfColumn inherits from FeatureSourceColumn, but can't be used as a FeatureSourceColumn.


I can work around that by inheriting from FeatureSourceColumn to hold the extra column definition data I need, but seems like that is a poor design choice.


Thanks



Brian, 
  
 I think your idea is right, this design is not good, but we couldn’t change it in following version, because it will cause breaking-change problem, we will consider to make it obsolete and add some better API to fit this requirement. 
  
 Thanks, 
 James