Yes, the drop down list will be automatically populated in the tool interface after you set up the tool's validation. This can be set up in the 'Validation' tab from the script tool properties. [ATTACH=CONFIG]30703[/ATTACH]From inside the Validation tab, you need to choose to edit the script in the lower right corner. Esri provides every script tool with this tool validator class template. For making drop down lists, you just need to alter the 'updateParameters' method. In this case, my validation code looks like this (drop down lists highlighted in red):
import os, fnmatch
# function to find files with wildcard
def find(pattern, path):
theFiles = []
for path, dirs, files in os.walk(path):
for filename in files:
if fnmatch.fnmatch(filename, pattern):
theFiles.append(os.path.abspath(os.path.join(path, filename)))
return sorted(theFiles)
class ToolValidator:
"""Class for validating a tool's parameter values and controlling
the behavior of the tool's dialog."""
def __init__(self):
"""Setup arcpy and the list of tool parameters."""
import arcpy
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 parmater
has been changed."""
# Path to SQL Databases
sde_loc = r'\\arcserver1\SDE'
sde_db = find('*.mdf', sde_loc)
# drop down lists
self.params[0].filter.list = [os.path.basename(s).split('.')[0] for s in sde_db]
self.params[2].filter.list = ['DBO.DEFAULT', 'DBO.EDITOR']
return
def updateMessages(self):
"""Modify the messages created by internal validation for each tool
parameter. This method is called after internal validation."""
return
Once you have added your validation, when you open the tool you should have little black arrows in the lower right of each parameter for which you set up a list. And when you click on the arrow, your list should appear.[ATTACH=CONFIG]30704[/ATTACH][ATTACH=CONFIG]30705[/ATTACH]