2012-12-03 3 views
0

Je dois savoir comment puis-je utiliser une classe pour obtenir une chaîne et l'ajouter à une étiquette à l'intérieur d'un itemtemplate dans agridview ...ASP.NET comment ajouter du texte à étiqueter dans gridview en utilisant une classe en code C#?

Je tition cette question: Add text from c# code to a gridview label

Je suis une réponse où je remarqué que je reçois la chaîne d'une classe dans un fichier cs ... pour être plus précis, voici ma classe:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 

namespace ClientesPagos 
{ 
    public class Funciones 
    { 
     public static string GetFormatoMoneda(decimal decCantidad) 
     { 
      DataRow dr = ConexionBD.GetInstanciaConexionBD().GetTipoDeMonedaPrincipal((int)HttpContext.Current.Session["Grupo"]); 
      return dr["Signo"] + Math.Round(decCantidad, 2).ToString("C").Substring(1) + " " + dr["Abreviatura"]; 
     } 
    } 
} 

d'une des suggestions, j'ai essayé d'utiliser ceci:

Text='<%#Funciones.GetFormatoMoneda(Eval("Total"))%>' 

N'a pas travaillé ...

alors j'ai essayé quelque chose que je ne veux pas faire, mais juste pour le test je l'ai essayé. Mon gridview est dans un fichier appelé Ventas.aspx ... alors j'ai ajouté la même classe sur Ventas.aspx.cs puis-je passer le texte à:

Text='<%#GetFormatoMoneda(Eval("Total"))%>' 

aussi, j'ai essayé commutation GetFormatoMoneda (decCantidad décimal) à GetFormatoMoneda (objet objCantidad), sans succès du tout ...

Savez-vous un moyen de résoudre ce problème? ou si vous pouviez fournir une réponse différente sur l'autre question sur le lien ci-dessus?

+0

des erreurs? Quelle est la sortie? – sajanyamaha

Répondre

1

Il devrait être:

Text='<%# Eval(Funciones.GetFormatoMoneda(1.0))%>' 

Il suffit de remplacer le 1.0 je l'ai écrit dans l'appel de fonction GetFormatoMoneda.

+0

merci pour votre réponse. Malheureusement, il n'a pas fonctionné de cette façon .. Je ai encore une fois placé la méthode dans Ventas.aspx.cs et utilisé ce Text = '<% # GetFormatoMoneda (Convert.ToDecimal (Eval ("Total")))%> ET IL tRAVAILLE ... cependant, si j'utilise Text = '<% # Funciones.GetFormatoMoneda (Convert.ToDecimal (Eval ("total")))%> Il ne fonctionne pas parce que les Funciones de classe ne n'existe pas dans ce contexte – Victor

+0

Ajoutez simplement l'espace de noms qui se trouve derrière pour qu'il indique 'Text = '<% # Eval (ClientesPagos.Funciones.GetFormatoMoneda (1.0))%>'' –

+0

Merci de l'avoir indiqué comme étant "répondu". –

Questions connexes