Durbano 1 Denunciar post Postado Julho 8, 2013 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
quintelab 91 Denunciar post Postado Julho 9, 2013 Como é uma aplicação web você não pode passar o caminho físico dela. Você passar o caminho dela como se estivesse exibindo esta imagem em um código html.Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Durbano 1 Denunciar post Postado Julho 9, 2013 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