0

クラスを使用して文字列を取得し、それをagridviewのitemtemplate内のラベルに追加する方法を知る必要があります...

以前にこの質問を投稿しました: c#コードからグリッドビューラベルにテキストを追加します

私はcsファイルのクラスから文字列を取得していることに気付いたところに答えを得ました...より具体的には、これが私のクラスです:

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"];
        }
    }
}

提案の1つから、私はこれを使用しようとしました:

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

動作しませんでした...

それから、やりたくないことを試しましたが、テストのためだけに試しました。私のグリッドビューはVentas.aspxというファイルにあります...そこで同じクラスをVentas.aspx.csに追加してから、テキストを次のように切り替えます。

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

また、GetFormatoMoneda(decimal decCantidad)をGetFormatoMoneda(object objCantidad)に切り替えてみましたが、まったく成功しませんでした...

これを修正する方法を知っていますか?または、上記のリンクの他の質問に別の回答を提供できる場合はどうなりますか?

4

2 に答える 2

2

gridview.rowdataboundイベントを使用して、コードビハインドのグリッド行を操作できます。

于 2012-12-03T17:41:53.080 に答える
1

そのはず:

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

1.0関数呼び出し内に書き込んだIを置き換えるだけGetFormatoMonedaです。

于 2012-12-03T17:34:15.613 に答える