Duplo click no gridview

05/05/2008

0

Boa Tarde

iniciei minha dúvida nesse tópico

[url]http://forum.devmedia.com.br/viewtopic.php?t=88773&start=0&postdays=0&postorder=asc&highlight=[/url]

Então agora estou com dúvida se existe uma maneira de realizar oque pretendo.

Exibo os dados em um grid e em vez de utilizar o ´Select´ gostaria de dar um duplo click e abril o DetailsView. Teria como realizar isso com o gridview ? Se não. teria possibilidade com outro componente ?

Obrigada
Patricia


Jmlpod

Jmlpod

Responder

Posts

05/05/2008

Ricardo Silva

Ola Patricia...

tem como fazer isso sim...
Via JavaScript, ou no evento IPostBackEventHandler

se vc naum conhecer alguma dessas duas tecnicas fica complicado de esplicar....

me diga qual vc tem mais familiaridade ai eu te esplico....
se por acasso for o IPostBackEventHandler, explicarei em C#


Responder

05/05/2008

Jmlpod

Boa Tarde RicaJedidia

bom como sou iniciante nesse mundo da net ..rs.. não tenho familiaridade com nada ..rs.. Mas estou estudando ..

Se puder me dar um exemplo, me indicar um tutorial ou algum link na net que tenha algo a respeito.. te agradeço.

Bom mesmo se vc não tiver um link para me indicar, se puder postar algo para eu tentar ir atrás de como fazer.. já ajuda pois não tenho noção.

Obrigada
Patricia


Responder

06/05/2008

Jmlpod

Bom dia

alguem poderia me dar uma dica de como fazer ?

obrigada
Patricia


Responder

06/05/2008

Ricardo Silva

Vamos lah...

no souce da pagina acrecente este javaScript:
<script type="text/javascript">
// Variaveis que armazenam a linha atual do Grid.
// armazena temporariamente a Cor anterior da linha atual. 
var currentRowId = 0;
var _oldColor;

// Armazena a cor anterior da linha
// Muda a cor da Linha atual.
function SetNewColor(source){
    _oldColor = source.style.backgroundColor;
    source.style.backgroundColor = ´#0054e3´;
    source.style.color= ´White´;    
}
// Volta a cor Anterior à linha atual.
function SetOldColor(source){
    source.style.backgroundColor = _oldColor;
}
/* Verifica o KeyCode da tecla preciona
 * 40- seta pra cima
 * 38- seta pra baixo
 * 13- Tecla Enter
 * 46- Tecla Delete
*/
function SelectRow(){
    if (event.keyCode == 40)
        MarkRow(currentRowId+1);
    else if (event.keyCode == 38)
        MarkRow(currentRowId-1);
    if (event.keyCode == 13)
        openModalChildId(_pagina, _option);
}
// Verifica se a linha é diferente de Nula
// 1º volta as cores Originais da Linha anterior
// 2º pinta a linha atual para selecionada
function MarkRow(rowId){
    if (document.getElementById(rowId) == null)
        return;
    if (document.getElementById(currentRowId) != null){
        document.getElementById(currentRowId).style.backgroundColor = _oldColor;
        document.getElementById(currentRowId).style.color= ´Black´;
    }
    currentRowId = rowId;
    SetNewColor(document.getElementById(rowId));
}
// função do clique do Enter
function Enter(linha){
      alert("Tecla Entre Pressionado na linha " + linha);
}
// função do duplo clique 
function duploClique(linha){
      alert("Tecla Entre Pressionado na linha " + document.getElementById(rowId).value);
}
</script>


No Code BeHide, em RowDataBound:
private int _i = 0;
protected void gridAlineas_RowDataBound(object sender, GridViewRowEventArgs e) {
        if(e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState == DataControlRowState.Alternate || e.Row.RowState == DataControlRowState.Normal)) {

            e.Row.Attributes.Add("onMouseOver", "this.style.cursor=´hand´;");

            e.Row.Attributes.Add("id", _i.ToString());

            e.Row.Attributes.Add("value", e.Row.Cells[0].Text);

            e.Row.Attributes.Add("onKeyDown", "SelectRow();";

            e.Row.Attributes.Add("onClick", "MarkRow(" + _i.ToString() + ");");

            e.Row.Attributes.Add("onDblClick", "duploClique();");

            _i++;
        }
    }

no Principio é um pouco estranhuuu, mas quando começa a pegar o jeto fica muito Loku.. te aconcelho em aprofundar em javaScrit se pretende trabalhar com Web....

Na duvida soh Posta


Responder

06/05/2008

Ricardo Silva

da uma olhada aki....
Logicamente que vc tera que adaptar para seu sistema
https://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=5478


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar