public function getProperty($propertyName)
    {
        $ret = parent::getProperty($propertyName);
        if ($ret)
            return $ret;
        if ($propertyName == "Table")
            return $this->table;
        if ($propertyName == "SearchRule")
            return $this->searchRule;
        // get control object if propertyName is "Field[fldname]"
        $pos1 = strpos($propertyName, "[");
        $pos2 = strpos($propertyName, "]");
        if ($pos1 > 0 && $pos2 > $pos1) {
            $propType = substr($propertyName, 0, $pos1);
            $fieldName = substr($propertyName, $pos1 + 1, $pos2 - $pos1 - 1);
            if ($propType == "param") {   // get parameter
                return $this->parameters->get($fieldName);
            }
            return $this->getField($fieldName);
        }
    }