Tooltip

Olá,

é possível, em uma aplicação do tipo grid, aplicar um “tooltip” a um campo, com base no conteúdo de uma coluna da tabela do banco de dados? Exemplo: criei um campo chamado classificacaoRisco, que apresenta uma imagem de acordo com um escore calculado. Gostaria de que quando o usuário posicionasse o mouse sobre esse campo, lesse uma descrição, que é a classificação do risco calculado.

Obrigado pela atenção e abraço a todos.

Crie um blblioteca:

<?php function HintHtml($_Valor,$_Hint='',$_Cor='000000',$_FormatNum=''){ sc_link(a,a.php); if($_FormatNum=="M"){ sc_format_num($_Valor,'.',',',2,'S','1',''); } $_Hint= nl2br(htmlspecialchars($_Hint, ENT_QUOTES)); $_return="<a href=# onmouseover=\"nm_mostra_hint(this,event,'".$_Hint."' )\" onmouseout=nm_apaga_hint() class=scGridFieldOddLink style=\" text-decoration:none; color:#".$_Cor."\">".$_Valor."</a>"; return str_replace(chr(10),"",$_return); } ?>

habilite a biblioteca na aplicação

Evento onRecord:

{campo_da_grid}=HintHtml({campo_dagrid},“texto para tooltip”);

Oi Haroldo,

funcionou perfeitamente! Muito obrigado. Apenas uma dúvida: teria como alterar características da fonte do texto exibido como tooltip?

Abraço,
Rômulo.

O valor para hint pode ser codificação HTML, assim você pode trabalhar no formato do texto sem problemas.

Tem como incluir no SC outro tipo de tooltip ?

Com Jquery, existem uma diversidade enorme de exemplos.

Ola, Haroldo…

Sim, eu vi alguns, mas ainda não tive sucesso.

http://qtip2.com/plugins#tips

eu usei este aqui http://177.184.9.82/tooltip.zip

Coloquei o JS na Lib e no Onrecord da grid coloquei assim

	$destaque = '';
	$foto_aux = '';
	$sql="SELECT arquivo_foto_p FROM fotos WHERE principal='S' AND destaque = 'S'  id".{id};
	sc_lookup(rs,$sql);	
	if(!empty({rs[0][0]})){	
		$destaque = {rs[0][0]};
		if(file_exists($destaque)){
			$foto_aux = '"<img src='.$destaque.'>", "224:168", 100, 0, 0';	
			{foto}  = "<html>";
			{foto} .= "<head>";
			{foto} .= "<title></title>";
			{foto} .= "</head>";
			{foto} .= "<body>";
			{foto} .= "<script type='text/javascript' src='../_lib/tooltip.js'></script>";
			{foto} .= "<img src='../_lib/img/grp__NM__photo_album.png' border='0' onMouseOver='toolTip(".$foto_aux.")' onMouseOut='toolTip()'>";
			{foto} .= "</body>";
			{foto} .= "</html>";
		}	
	}

No campo {foto} tenho uma imagem(src=’…/_lib/img/grp__NM__photo_album.png’) e ao passar o mouse sobre mostra a foto principal do registro.

Fernando.Oliveira,

muito obrigado pelo o exemplo. Vou testar…

Fernando.Oliveira,

consegui perfeito utilizar o seu exemplo.

Agora estou tentando utilizar tooltip, com texto, mas não estou conseguindo devido ao problema na utilização das aspas…

Example #3

eu acredito q seja simples, mas cara estou tomando uma surra …

Vc tem como exemplificar isso pra mim?

Em consultas, crie essa biblioteca e aplique na onrecord:

<?php function HintHtml($_Valor,$_Hint='',$_Cor='000000',$_FormatNum=''){ sc_link(a,a.php); if($_FormatNum=="M"){ sc_format_num($_Valor,'.',',',2,'S','1',''); } $_Hint= nl2br(htmlspecialchars($_Hint, ENT_QUOTES)); $_return="".$_Valor.""; return str_replace(chr(10),"",$_return); } ?>

também tive este problema e só consegui resolver colocando antes em uma variável:
$foto_aux = ‘"", “224:168”, 100, 0, 0’;
depois concatenando como abaixo:
{foto} .= “”;

Haroldo,

eu ja estou usando a sua dica e está perfeito. Obrigado!
Estou querendo outro tipo de tooltip para poder incrementar um pouco mais a aplicação.

Tambem consegui usar o texto, usando parte da sua dica…

/*
{foto} ="";
{foto}.="<a href=# onmouseover=“toolTip(‘Valor de Remessa asdfasdkfalsdfasdfa sdfasdf
asdfasdfasdfasdf’, 270, 300)” onmouseout=toolTip()">".{cli_nome}."";
*/

Muito obrigado,
vcs são nota 1000…

Haroldo, tem 2 outras funções (nm_apaga_hint e nm_mostra_hint) que não estão contempladas no código passado. Também não encontrei na documentação do Scriptcase. Fazem parte de alguma outra biblioteca? Pode me referenciar?
Abraço,
Ricardo

5 anos depois…

A função é um código meu customizado e na época funcionava.
Hoje utilizo outras formas para hint. Vale salientar que a dica é para aplicações do tipo grid.