Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Durbano

Trabalhando com asp:ImageField

Recommended Posts

Boa noite.

 

Estou tentando preencher um GRIVIEW com base em um DATATABLE

Após preencher meu DATATABLE eu crio uma coluna para armazenar a URL da imagem baseada no dado de status.

 DataTable objDT = objDaoUsuario.ConsultarProduto();
            objDT.Columns.Add("ImageURL", Type.GetType("System.String"));

            foreach (DataRow row in objDT.Rows)
            {
                switch (Convert.ToInt32(row["cd_status"]))
                {
                    case 1:
                        row["ImageURL"] = ResolveUrl(@"E:\PROJETOS\ASP.NET\IMSPortal Project v1\IMSPortal\_Imagens\head_logo.png");
                        break;
                    case 2:
                        row["ImageURL"] = ResolveUrl(@"E:\PROJETOS\ASP.NET\IMSPortal Project v1\IMSPortal\_Imagens\Warning.ico");
                        break;
                    case 3:
                        row["ImageURL"] = ResolveUrl(@"E:\PROJETOS\ASP.NET\IMSPortal Project v1\IMSPortal\_Imagens\Error.ico");
                        break;
                }

            }

            GridView1.DataSource = objDT;
            GridView1.DataBind();

Até aqui tudo OK.

 

Agora o code do meu GRIDVIEW

 

            <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" Width="900px" AutoGenerateColumns="False">
                <AlternatingRowStyle BackColor="#DCDCDC" />
                <Columns>
                    <asp:BoundField HeaderText="Nome do produto" DataField="dc_produtoIms_nome" />
                    <asp:BoundField HeaderText="Sigla do produto" DataField="dc_produtoIms_sigla" />
                    <asp:BoundField HeaderText="Descrição do produto" DataField="dc_produtoIms_descricao" />
                    <asp:ImageField DataImageUrlField="ImageURL" HeaderText="Image"></asp:ImageField>  
                </Columns>
                <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
                <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" Font-Size="Small" Font-Names="Verdana" Height="25px"/>
                <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
                <RowStyle BackColor="#EEEEEE" ForeColor="Black" Font-Size="Small" Font-Names="Verdana" Height="20px"/>
                <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
                <SortedAscendingCellStyle BackColor="#F1F1F1" />
                <SortedAscendingHeaderStyle BackColor="#0000A9" />
                <SortedDescendingCellStyle BackColor="#CAC9C9" />
                <SortedDescendingHeaderStyle BackColor="#000065" />
            </asp:GridView>

Executando o código a imagem não aparece.

 

O que está errado ?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boaaaaaaaaaaaaaaaaaaaaa ! Valeu Quintelab

Muito obrigado. Ajustei o caminho das imagens e funcionou.

 

Então o ajuste foi apenas no momento de criar o DataTable, segue o código corrigido.

 

 DataTable objDT = objDaoUsuario.ConsultarProduto();
            objDT.Columns.Add("ImageURL", Type.GetType("System.String"));

            foreach (DataRow row in objDT.Rows)
            {
                switch (Convert.ToInt32(row["cd_status"]))
                {
                    case 1:
                        row["ImageURL"] = "~/_Imagens/Success.ico";
                        break;
                    case 2:
                        row["ImageURL"] = "~/_Imagens/Warning.ico";
                        break;
                    case 3:
                        row["ImageURL"] = "~/_Imagens/Error.ico";
                        break;
                }

            }

            GridView1.DataSource = objDT;
            GridView1.DataBind();

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.