class ToolValidator: """Class for validating a tool's parameter values and controlling the behavior of the tool's dialog.""" def __init__(self): """Setup the Geoprocessor and the list of tool parameters.""" self.params = arcpy.GetParameterInfo() def initializeParameters(self): """Refine the properties of a tool's parameters. This method is called when the tool is opened.""" return def updateParameters(self): """Modify the values and properties of parameters before internal validation is performed. This method is called whenever a parameter has been changed.""" FC = r"C:\Path\To\FeatureClass" Col = "FieldName" self.params[0].filter.list = [str(val) for val in sorted(set(row.getValue(Col) for row in arcpy.SearchCursor(FC, None, None, Col)))] #use a da cursor if @ 10.1+ return def updateMessages(self): """Modify the messages created by internal validation for each tool parameter. This method is called after internal validation.""" return