import arcpy class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Toolbox" self.alias = "" # List of tool classes associated with this toolbox self.tools = [Tool] class Tool(object): def __init__(self): """Define the tool (tool name is the name of the class).""" self.label = "Tool" self.description = "" self.canRunInBackground = False def getParameterInfo(self): """Define parameter definitions""" # First parameter p1 = arcpy.Parameter( displayName="Input Features", name="in_features", datatype="Feature Layer", parameterType="Required", direction="Input") p2 = arcpy.Parameter( displayName="Input Field", name="in_field", datatype="Field", parameterType="Required", direction="Input") p2.parameterDependencies = ???? p3 = arcpy.Parameter( displayName="Input String", name="in_string", datatype="String", parameterType="Required", direction="Input") return [p1, p2, p3] def isLicensed(self): """Set whether tool is licensed to execute.""" return True def updateParameters(self, parameters): """Modify the values and properties of parameters before internal validation is performed. This method is called whenever a parameter has been changed.""" return def updateMessages(self, parameters): """Modify the messages created by internal validation for each tool parameter. This method is called after internal validation.""" return def execute(self, parameters, messages): """The source code of the tool.""" in_fc = parameters[0].valueAsText in_field = parameters[1].valueAsText in_string = parameters[2].valueAsText rows = arcpy.UpdateCursor(in_fc) for row in rows: row.setValue(in_field, in_string) rows.updateRow(row) del row, rows return
Solved! Go to Solution.
p2.filter.list = ['Text'] p2.parameterDependencies = [p1.name]
p2.filter.list = ['Text'] p2.parameterDependencies = [p1.name]