Gets the field's
Domain at the table level if is not set. Otherwise, gets the field's domain for the specific . This method must be called on the MCT. Use QueuedTask.Run.
Public Function GetDomain( _
Optional ByVal As Subtype _
) As Domain
Parameters
- subtype
- The specific Subtype for the field's domain. This argument is optional. If unset or set to null, the field's domain at the table level is returned.
Return Value
The associated domain if one is assigned; otherwise, null is returned.
Get domain string from a field
public string GetDomainStringFromField(Row row, Field field)
{
// Get the table and table definition from the Row
using (Table table = row.GetTable())
using (TableDefinition tableDefinition = table.GetDefinition())
{
// Get name of subtype field
string subtypeFieldName = tableDefinition.GetSubtypeField();
// Get subtype, if any
Subtype subtype = null;
if (subtypeFieldName.Length != 0)
{
// Get value of subtype field for this row
object varSubtypeCode = row[subtypeFieldName];
long subtypeCode = (long)varSubtypeCode;
// Get subtype for this row
subtype = tableDefinition.GetSubtypes().First(x => x.GetCode() == subtypeCode);
}
// Get the coded value domain for this field
CodedValueDomain domain = field.GetDomain(subtype) as CodedValueDomain;
// Return the text string for this field
if (domain != null)
{
return domain.GetName(row[field.Name]);
}
else
{
return row[field.Name].ToString();
}
}
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.