Ir para conteúdo

Arquivado

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

fagnerx21

Tá gerando alguns erros !!!

Recommended Posts

Olá, eu tentei criar uma página asp.net pra exibir imagem em um gridview em certas condições, mas está gerando uns erros, se alguém puder me ajudar fico grato.

 

HTML:

 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<strong><span style="font-size: 25px; color: blue; font-family: Trebuchet MS">Exibindo

Imagens Em Um GridView Condicionalmente<br />

<br />

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"

DataKeyNames="CódigoDoProduto" DataSourceID="AccessDataSource1" Font-Bold="False"

Font-Size="12pt" ForeColor="#333333" GridLines="None" OnRowDataBound="GridView1_RowDataBound">

<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

<Columns>

<asp:BoundField DataField="CódigoDoProduto" HeaderText="CódigoDoProduto"

InsertVisible="False" ReadOnly="True" SortExpression="CódigoDoProduto" />

<asp:BoundField DataField="NomeDoProduto" HeaderText="NomeDoProduto" SortExpression="NomeDoProduto" />

<asp:BoundField DataField="PreçoUnitário" HeaderText="PreçoUnitário"

SortExpression="PreçoUnitário" />

<asp:BoundField DataField="UnidadesEmEstoque" HeaderText="UnidadesEmEstoque" SortExpression="UnidadesEmEstoque" />

</Columns>

<RowStyle BackColor="#EFF3FB" />

<EditRowStyle BackColor="#2461BF" />

<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />

<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />

<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

<AlternatingRowStyle BackColor="White" />

</asp:GridView>

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Northwind.mdb"

SelectCommand="SELECT [CódigoDoProduto], [NomeDoProduto], [PreçoUnitário], [unidadesEmEstoque] FROM [Produtos]">

</asp:AccessDataSource>

</span></strong>

 

</div>

</form>

</body>

</html>

 

C#:

 

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

 

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

if( e.Row.RowType = DataControlRowType.DataRow)

{

Image img = ((Image)(e.Row.FindControl("image1")));

switch (e.Row.Cells[3].Text)

{

case 0:

img.ImageUrl = "~//Imagens//down.jpg";

img.Visible = true;

break;

case e.Row.Cells[3].Text <= 25 :

img.ImageUrl = "~//Imagens//cart.jpg";

img.Visible = true;

break;

case (e.Row.Cells[3].Text >= 25) & (e.Row.Cells[3].Text <= 50) :

img.ImageUrl = "~//Imagens//up.jpg";

img.Visible = true;

break;

case e.Row.Cells[3].Text > 120 :

img.Visible = false;

break;

}

}

 

}

}

 

ErrorLog:

 

Error 1 Cannot implicitly convert type 'System.Web.UI.WebControls.DataControlRowType' to 'bool' C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2005\WebSites\GridViewImagemCondicional\Default.aspx.cs 19 13 C:\...\GridViewImagemCondicional\

Error 2 Cannot implicitly convert type 'int' to 'string' C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2005\WebSites\GridViewImagemCondicional\Default.aspx.cs 24 22 C:\...\GridViewImagemCondicional\

Error 3 Operator '<=' cannot be applied to operands of type 'string' and 'int' C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2005\WebSites\GridViewImagemCondicional\Default.aspx.cs 28 22 C:\...\GridViewImagemCondicional\

Error 4 Operator '>=' cannot be applied to operands of type 'string' and 'int' C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2005\WebSites\GridViewImagemCondicional\Default.aspx.cs 32 23 C:\...\GridViewImagemCondicional\

Error 5 Operator '<=' cannot be applied to operands of type 'string' and 'int' C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2005\WebSites\GridViewImagemCondicional\Default.aspx.cs 32 53 C:\...\GridViewImagemCondicional\

Error 6 Operator '>' cannot be applied to operands of type 'string' and 'int' C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2005\WebSites\GridViewImagemCondicional\Default.aspx.cs 36 22 C:\...\GridViewImagemCondicional\

Por favor, me ajudem

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo seu código C#:

 

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if( e.Row.RowType = DataControlRowType.DataRow)
{
Image img = ((Image)(e.Row.FindControl("image1")));
if (Convert.ToInt32(e.Row.Cells[3].Text) == 0)
{
img.ImageUrl = "~//Imagens//down.jpg";
img.Visible = true;
}
else if (Convert.ToInt32(e.Row.Cells[3].Text) <= 25)
{
img.ImageUrl = "~//Imagens//cart.jpg";
img.Visible = true;
}
else if ((Convert.ToInt32(e.Row.Cells[3].Text) >= 25) && (Convert.ToInt32(e.Row.Cells[3].Text) <= 50))
{
img.ImageUrl = "~//Imagens//up.jpg";
img.Visible = true;
}
else if (Convert.ToInt32(e.Row.Cells[3].Text) > 120)
{
img.Visible = false;
}
}

} 
}

Sua sintaxe do case estava incorreta e você estava tentando comparar um tipo String com um Integer.

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.