none
Como tornar o estilo de um TemplateField (gridView) dinâmico? RRS feed

  • Pergunta

  • Olá a todos,

    Então... eu queria fazer algo similar a isso:

                                                    <asp:GridView ID="gvListaProduto" runat="server" >
                                                        <AlternatingRowStyle BackColor="#F0F0F0" />
                                                        <Columns>
                                                            <asp:TemplateField HeaderText="Chk">
                                                                <HeaderTemplate>
                                                                    <asp:CheckBox ID="CheckBox1" Enabled="false" runat="server" />
                                                                </HeaderTemplate>
                                                                <ItemTemplate>
                                                                    <asp:CheckBox ID="chkIdProduto" runat="server" />
                                                                </ItemTemplate>
                                                                <AlternatingItemTemplate>
                                                                    <asp:CheckBox ID="chkIdProduto" runat="server" />
                                                                </AlternatingItemTemplate>
                                                                <HeaderStyle HorizontalAlign="Center" />
                                                                <ItemStyle Width="3%" HorizontalAlign="Center" CssClass='<%# Eval("status") %>' />
                                                            </asp:TemplateField>

    Onde o estilo "status" muda a cor daquele template (apenas aquela coluna) de acordo com o estoque do produto. Exemplo, o status faz aquele template ter borda verde se o estoque estiver, positivo, e vermelho se estiver negativo. O estilo e o status funcionam, o que não consigo é adicionar essa classe "status" apenas nessa coluna.

    Desde já, obrigado!

    quinta-feira, 10 de março de 2016 15:50

Respostas

Todas as Respostas

  • Veja se o link abaixo te ajuda:

    How do I specify CSS classes for specific rows in a GridView?

    Att,


    Antero Marques

    • Marcado como Resposta wcsantos quinta-feira, 10 de março de 2016 19:07
    quinta-feira, 10 de março de 2016 16:57
  • Show... tive que pular o header, ficou assim:
            protected void gvContaPagamento_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.DataItemIndex != -1)
                {
                    DateTime dataVencimento = Convert.ToDateTime(DataBinder.Eval(e.Row.DataItem, "dataVencimento"));
    
                    if (dataVencimento == DateTime.Now.Date)
                        e.Row.Cells[0].CssClass = "tab-hoje";
                    if (dataVencimento > DateTime.Now.Date)
                        e.Row.Cells[0].CssClass = "tab-vencer";
                    if (dataVencimento < DateTime.Now.Date)
                        e.Row.Cells[0].CssClass = "tab-vencido";
                }
            }


    • Editado wcsantos quinta-feira, 10 de março de 2016 19:06
    quinta-feira, 10 de março de 2016 19:06