O módulo SmartQry cria telas a partir de um simples comando SQL. Se o comando retornar todos os campos requeridos para gravação, é possível também executar operações de inclusão, alteração e exclusão dos dados.
| Objeto | Descrição |
|---|---|
| def | Responsável pelas definições de comportamento da tela |
| def.width | Tamanho padrão para colunas. Padrão é 110 (int) |
| def.displayMemo | Indica se mostra texto dos campos memos no grid. Caso false (default), mostra apenas quando é selecionado o campo (true/false). |
| def.readOnly | Indica se permite a edição (crud) dos dados (true/false). |
| def.fdConn | Objeto de configuração da conexão ao banco de dados, com base no framework FireDac. |
| def.fdConn.driverId | Indica o banco de dados a ser conectado (MySQL, MSSQL, Ora...). |
| def.fdConn.dataBase | Indica o nome do banco de dados. |
| def.fdConn.userName | Indica o usuário do banco de dados. |
| def.fdConn.password | Indica a senha do usuário de banco de dados. |
| def.fdConn.server | Indica o endereço do servidor de banco de dados. |
| def.fdConn.port | Indica a porta (int) do servidor de banco de dados. |
| def.fields | Objeto de configuração dos campos |
def.fields.field.width |
Largura da coluna (int) |
def.fields.field.displayMemo |
Indica se mostra texto longo no campo (true/false). |
def.fields.field.groupHeader |
Grupo do da coluna (text) |
def.fields.field.readyOnly |
Indica se edita campo (true/false) |
def.fields.field.visible |
Indica se mostra campo. Caso false, campo pode ser visualizado pelo menu de campos (true/false) |
def.fields.field.color |
Indica a cor de fundo da coluna. O valor deve ser texto, com prefixo $00, seguido dos códigos em hexa RGB invertidos (BGR). Ex. Cor 00569A (RGB 0,86,154), deve ser colocado $009A5600 |
def.fields.field.fontColor |
Indica a cor de fonte. O valor deve ser texto, com prefixo $00, seguido dos códigos em hexa RGB invertidos (BGR). Ex. Cor 00569A (RGB 0,86,154), deve ser colocado $009A5600 |
def.fields.field.fontSize |
Indica o tamanho da fonte (int). |
def.fields.field.fontName |
Indica o nome da fonte (text). |
def.fields.field.titleCaption |
Nome do título da coluna (text). |
def.fields.field.titleColor |
Indica a cor de fundo do título da coluna. O valor deve ser texto, com prefixo $00, seguido dos códigos em hexa RGB invertidos (BGR). Ex. Cor 00569A (RGB 0,86,154), deve ser colocado $009A5600 |
def.fields.field.titleFontColor |
Indica a cor de fonte do título. O valor deve ser texto, com prefixo $00, seguido dos códigos em hexa RGB invertidos (BGR). Ex. Cor 00569A (RGB 0,86,154), deve ser colocado $009A5600 |
def.fields.field.titleFontSize |
Indica o tamanho da fonto do título da coluna (text). |
def.fields.field.titleFontName |
Indica o nome da fonte do título da coluna (text). |
def.fields.field.alignment |
Indica o alinhamento (left, center, right) do dado (text). |
def.fields.field.titleAlignment |
Indica o alinhamento (left, center, right) do título (text). |
def.fields.field.filteringEditor |
Indica o tipo de filtro da coluna. O uso depende do SQL possuir parâmetro com o mesmo nome do campo na cláusula where. Valores possíveis edit (text). Ver exemplo de filtros. Demais tipos a serem implementados. |
| sqlQry | Requerido. Sql de consulta. Para telas editáveis, a consulta deve conter todos os campos requeridos para inserção / edição |
Para utilização de filtro, o Sql deve possuir os parâmetros na cláusula where com o mesmo nome (em caixa baixa) do campo, com o refixo : no nome.
select buser, buser_descfrom buserwhere buser = :buser
Para utilização de filtro aproximado, pode-se utilizar o comando like.
select buser, buser_descfrom buserwhere buser like :buser
Para campos que permitam valores null, deve-se considerar no comando essa condição, pois caso contrário os registros nulos não serão considerados mesmo sem a seleção de filtro.
select buser, buser_descfrom buserwhere buser = :buserand coalesce(buser_desc,'') like coalesce(:buser_desc,'')