Duplo click no gridview

.NET

05/05/2008

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

Curtidas 0

Respostas

Ricardo Silva

Ricardo Silva

05/05/2008

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#


GOSTEI 0
Jmlpod

Jmlpod

05/05/2008

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


GOSTEI 0
Jmlpod

Jmlpod

05/05/2008

Bom dia

alguem poderia me dar uma dica de como fazer ?

obrigada
Patricia


GOSTEI 0
Ricardo Silva

Ricardo Silva

05/05/2008

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


GOSTEI 0
Ricardo Silva

Ricardo Silva

05/05/2008

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


GOSTEI 0
POSTAR