2012-01-03 10 views
2

私のaspxページには、私のデータベースの値を "*"と表示するgridviewがあります。したがって、データベーステーブルの値が5の場合、gridviewに "*****"と表示されます。 aspxの中vbでイメージとして値を表示

コード:aspx.vbで

<asp:TemplateField HeaderText="Rating" SortExpression="Rating"> 
       <ItemTemplate><h1><%# getrating(Eval("Rating"))%></h1></ItemTemplate> 
      </asp:TemplateField> 

コードが

Protected Function getrating(ByVal rate As Integer) 
     Dim retval As String 
     retval = "" 
     For i = 1 To rate 
      retval = retval + "*" 
     Next 
     Return retval 
    End Function 

私は何をしたいにおけるので、その "*" 絵、すなわちstar.jpgへの変更であります「*」の代わりに「star32.jpg」という画像が表示されます。

どうすればいいですか? MS Visual Studio 2010を使用する

+1

最近この類似の質問について私の答えを見てください:http://stackoverflow.com/q/8502496/284240 –

+0

あなたの5が '*****'であるあなたの例では、 imageまたはstar.jpg画像の5つのインスタンス?有効な範囲は何ですか?私は1から5、または1から10(すなわち、比較的限定されたセット)と仮定します。それは1から10億またはそれ以上のものではありません。 – Chris

+0

@Chris star.jpgイメージの5つのインスタンスとその範囲は、データベースは1から5に設定されています。 –

答えて

0

あなただけの、次のような何か行うことができる必要があります:

retval = retval + "<img src=""star.jpg"" alt=""*"">" 

をあなたが同じ行にそれらすべてを置くために、いくつかのスタイリングが必要な場合があります(フロート:左が行う必要があります)が、私はそれがあるかどうかぶっきらぼう忘れます必要。

この原則は明らかに基本的です。出力されたHTMLには、*の前に画像タグがあります。

Protected Function getrating(ByVal rate As Integer) 
    Dim retval As String 
    retval = String.Format("<img src=""Star{0}.jpg"" alt=""{0} stars"">", rate) 
    Return retval 
End Function 

この意志出力Star5にStar1のいずれかを指す画像タグ:それを行うには滑らかな印象の方法は、5に1のための5枚の画像を持っているし、その後のようなものを持っているかもしれません。これは、5つの同一サイズの画像を作成するだけでなく、使用するスペースが常に同じであることを知ることができるように、見た目をよりよく制御できるため、いくつかの点でより優れています。

+0

ありがとうございます!正確に私が必要としたもの。 –

+0

@RayClark:それが正しいと幸せならば、答えを受け入れることを忘れないでください。 :) – Chris

関連する問題