Revision: 29382
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 28, 2010 07:17 by d3developer
Initial Code
public void getLabelsAndWidthsfromFields(List<String> fieldNames, String objectName)
{
labels = new List<String>();
widths = new List<String>();
try {
Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();
SObjectType sot = gd.get(objectName);
Map<String, SObjectField> fields = sot.getDescribe().fields.getMap();
List<SObjectField> fieldtokens = fields.values();
for(String fn : fieldNames)
{
SObjectField field;
List<String> fnParts = fn.split('[.]');
if(fnParts.size() == 2)
{
String outerObjectName = fnParts.get(0);
if(outerObjectName.endsWith('__r'))
outerObjectName = outerObjectName.substring(0,outerObjectName.length() - 1) + 'c';
SObjectType sotOuter = gd.get(outerObjectName);
Map<String, SObjectField> outerFields = sotOuter.getDescribe().fields.getMap();
field = outerFields.get(fnParts.get(1));
}
else
field = fields.get(fn);
Schema.DescribeFieldResult fieldDescribe = field.getDescribe();
labels.add(fieldDescribe.getLabel());
widths.add(String.valueOf(fieldDescribe.getLength() * 3));
}
}
catch (Exception e)
{
System.debug('UNABLE TO GENERATE LABELS:' + e);
}
}
Initial URL
Initial Description
Initial Title
@fractastical Field Details from fieldnames and object Name
Initial Tags
Initial Language
Other