I'm trying to set up a value table to accept multiple parameter data types as input. It's possible for non-value table parameters; from the documentation :
def getParameterInfo(self):
#Define parameter definitions
# First parameter
param0 = arcpy.Parameter(
displayName="Input Raster Dataset",
name="in_rasterdataset",
datatype=["DERasterDataset", "DERasterCatalog"],
parameterType="Required",
direction="Input")
However, when I try on value tables, I get the following error.
param2 = arcpy.Parameter(displayName='Input Data',
name='InputData',
datatype="GPValueTable",
parameterType='Required',
direction='Input')
dTypes = ["DEFeatureClass", "DEFeatureDataset", "DETable",
"DEMosaicDataset", "DERasterDataset"]
param2.columns = [[dTypes, "Old"], [dTypes, "New"]]
Hmm, ok. Maybe I'm just doing it wrong? Let me try making it a single parameter type
param2 = arcpy.Parameter(displayName='Input Data',
name='InputData',
datatype="GPValueTable",
parameterType='Required',
direction='Input')
param2.columns = [["DEFeatureClass", "Old"], ["DEFeatureClass", "New"]]Bingo:

So, my question is: How can I make a value table parameter accept multiple data types?
(Also, before anyone suggests it, I did already try
param2.columns = [[["DEFeatureClass", "DETable"], "Old"],
["DEFeatureClass", "DETable"], "New"]
] with the same results.