none
Alterar valor de uma gridview RRS feed

  • Pergunta

  • Boa tarde.

    Eu possuo a seguinte gridview em meu sistema:

    <asp:GridView ID="gv_listaItens" runat="server" AutoGenerateColumns="False" OnRowDataBound="gv_listaItens_RowDataBound"
                            OnRowDeleting="gv_listaItens_RowDeleting" OnSelectedIndexChanged="gv_listaItens_SelectedIndexChanged"
                            Width="800px" OnRowCommand="gv_listaItens_RowCommand" 
                            onrowcreated="gv_listaItens_RowCreated">
                            <Columns>
                                <asp:ButtonField ButtonType="Image" HeaderText="Replicar" ImageUrl="~/images/reply.png"
                                    Text="Replicar" ItemStyle-HorizontalAlign="Center" CommandName="replicar" />
                                <asp:CommandField ButtonType="Image" HeaderText="Editar" ItemStyle-HorizontalAlign="Center"
                                    SelectImageUrl="~/images/EditTableHS.png" ShowSelectButton="True">
                                    <ItemStyle Width="60px" />
                                </asp:CommandField>
                                <asp:CommandField ButtonType="Image" DeleteImageUrl="~/images/delete.gif" HeaderText="Excluir"
                                    ItemStyle-HorizontalAlign="Center" ShowDeleteButton="True">
                                    <ItemStyle Width="60px" />
                                </asp:CommandField>
                                <asp:BoundField DataField="seq" HeaderText="Seq" />
                                <asp:BoundField DataField="Cod" HeaderText="Cod" />
                                <asp:BoundField DataField="Qtde" HeaderText="Qtde" />
                                <asp:BoundField DataField="Unid" HeaderText="Unid" />
                                <asp:BoundField DataField="Desc" HeaderText="Item" HtmlEncode="False">
                                    <ItemStyle Wrap="True" />
                                </asp:BoundField>
                                <asp:BoundField DataField="Desc2" HeaderText="Obs" HtmlEncode="False">
                                    <ItemStyle Wrap="true" />
                                </asp:BoundField>
                                <asp:BoundField DataField="ref" HeaderText="Ref" HtmlEncode="False">
                                    <ItemStyle Wrap="true" />
                                </asp:BoundField>
                                <asp:BoundField DataField="ultima_compra" HeaderText="Compra" />
                                <asp:BoundField DataField="ultimo_valor" HeaderText="Valor" />
                                <asp:BoundField DataField="total_item" HeaderText="Total" />
                                <asp:BoundField DataField="original" HeaderText="Orig." />
                                <asp:BoundField DataField="estbdest" HeaderText="Estab" />
                                <asp:BoundField DataField="uniddest" HeaderText="Unid Dest" />
                                <asp:BoundField DataField="patrimonio" HeaderText="Patrimonio" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField DataField="os" HeaderText="O.S." ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField DataField="OC" HeaderText="OC" HtmlEncode="False" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField DataField="status" HeaderText="St." ItemStyle-HorizontalAlign="Center" />
                            </Columns>
                        </asp:GridView>

    Gostaria de no lugar da linah

      <asp:BoundField DataField="status" HeaderText="St." ItemStyle-HorizontalAlign="Center" />

    Fica-se uma imagem, por exemplo:

    O valor carregado nesta linha varia de acordo com a situação do ITEM que pode ser: R, I ou C, gostaria de colocar uma imagem quando o valor fosse C.



    quinta-feira, 18 de julho de 2013 17:47

Todas as Respostas

  • Cara vc pode utilizar o evento RowDataBound da grid veja um exemplo.

    Clique para ver o exp:

    Abraço!

    quinta-feira, 18 de julho de 2013 17:51
  • Um outra forma além do RowDataBound e passar o nome da Imagem em um Atributo da Classe, por exemplo:

    public string NomeImage
    {
       get {
             if (status == "C")
                return "Imagem1.jpg"
             else
                return "SemImagem.jpg"
      }
    }

    e na GridView:

    <asp:Image ID="imgC" runat="server" ImageUrl='<%# Eval("NomeImage","~/Images/{0}") %>' />

    quinta-feira, 18 de julho de 2013 17:59
  • Bom dia meus amigos. Primeiramente obrigado pelas respostas, mas gostaria de adicionar um imagem que desse para eu utiliza-la como um botão para chamar uma tela com algumas informações adicionais sobre o item.


    sexta-feira, 19 de julho de 2013 10:25