Saudações.
Vou mostrar como fazer um relatório zebra no GridView com um mouseover nas linhas. É bem simples e dá um efeito de visualização bem interessante na listagem.
Vamos começar com o GridView propriamente dito:
ID=”GridView1″
runat=”server”
GridLines=”None”
RowStyle-CssClass=”linhaNormal”
AlternatingRowStyle-CssClass=”linhaAlternativa”
OnRowDataBound=” GridView1_RowDataBound”>
</asp:GridView>
O GridView é muito simples, só acrescentamos 3 propriedades e 1 método:
GridLines: configurada como None essa propriedade retira as linhas do GridView.
RowStyle-CssClass: configura as linhas do GridView. Nela adicionamos a classe CSS que queremos.
AlternationgRowStyle-CssClass: São as linhas alternativas. São as linhas pares do GridView.
OnRowDataBoud: É o método que vamos colocar o mouseover do GridView.
As classes que utilize são estas:
.linhaAlternativa {background:#EBEBEB; height:30px; padding:2px;}
Vamos para a parte do C#
Dentro do método OnRowDataBound vamos colocar o seguinte script:
if (e.Row.RowType == DataControlRowType.DataRow) {
if (e.Row.RowState == DataControlRowState.Alternate) {
e.Row.Style.Add(“background-color”, “#EBEBEB”);
e.Row.Attributes.Add(“onmouseover”, “this.style.backgroundColor=’#C1E4F7′”);
e.Row.Attributes.Add(“onmouseout”, “this.style.backgroundColor=’#EBEBEB’”);
}else{
e.Row.Attributes.Add(“onmouseover”, “this.style.backgroundColor=’#C1E4F7′”);
e.Row.Attributes.Add(“onmouseout”, “this.style.backgroundColor=’#FFFFFF’”);
}
}
}
O que significa isso?
Simples. A primeira condição verifica se é uma linha de conteúdo do GridView, ele ignora o cabeçalho e o rodapé. Depois verificamos se é linha alternativa ou não e acrescentamos a função onmouseover e onmouseout do JavaScript. Desta forma, quando o ponteiro do mouse estiver sobre a linha esta mudará de cor, o mouse saindo da linha ela volta para sua cor normal.
Espero ter ajudado um forte abraço!
