public function SetFilteredDataGridColumnFilter(QDataGridLegacyColumn $col) { if ($this->_PrimaryKeyNode) { $objNode = $this->_PrimaryKeyNode; } else { $objNode = $this; } switch ($objNode->strType) { case QDatabaseFieldType::Bit: //List of true / false / any $col->FilterType = QFilterType::ListFilter; $col->FilterAddListItem("True", QQ::Equal($objNode, true)); $col->FilterAddListItem("False", QQ::Equal($objNode, false)); $col->FilterAddListItem("Set", QQ::IsNotNull($objNode)); $col->FilterAddListItem("Unset", QQ::IsNull($objNode)); break; case QDatabaseFieldType::Blob: case QDatabaseFieldType::Char: case QDatabaseFieldType::Time: case QDatabaseFieldType::VarChar: case QDatabaseFieldType::Date: case QDatabaseFieldType::DateTime: //LIKE $col->FilterType = QFilterType::TextFilter; $col->FilterPrefix = '%'; $col->FilterPostfix = '%'; $col->Filter = QQ::Like($objNode, null); break; case QDatabaseFieldType::Float: case QDatabaseFieldType::Integer: //EQUAL $col->FilterType = QFilterType::TextFilter; $col->Filter = QQ::Equal($objNode, null); break; case QType::Object: case QType::Resource: default: //this node points to a class, there's no way to know what to filter on $col->FilterType = QFilterType::None; $col->ClearFilter(); break; } }