-3

SQL から返されるデータの配列があり、与えられた結果に応じて配列の各行に画像 (ティックまたはクロス) を追加したいと考えています。if x==y配列の周りで foreach を実行し、画像 a を表示し、画像 b を表示し、配列をグリッドビューに表示する前にこれを配列に追加するつもりでした

c_gvResults.DataSource = arResults

c# asp.netで画像フォルダからプログラムで画像を取得し、上記の基準に基づいてグリッドビューに表示する方法について、誰かが私を正しい方向に向けることができますか?

ありがとう

4

4 に答える 4

0

<img>実際の画像オブジェクトではなく、列の要素を取得したいと思います。特に、それらはティックまたはクロスであるためです。ファイルをどこかに置いて、対応する文字列を作成し、それらの文字列を配列に取得するだけです。

于 2013-05-10T19:01:29.083 に答える
0

クエリ内で JPG ファイルのファイル名を取得している場合は、ASP ページ<Columns> </Columns>で GridView のタグの下に次のようなものを追加できます。

<asp:ImageField DataImageUrlField="YourJPGFileNameColumn" 
               DataImageUrlFormatString="~\YourPathWhereTheImageIs\{0}.jpg" >
               <ControlStyle Width="100px" />
</asp:ImageField>

「YourJPGFileNameColumn」はクエリで返される列名である必要があり、{0} はクエリで返される値が存在する場所です。

たとえば、クエリが次のようなテーブルを返す場合:

| ProductID |
 -----------
| 1234      |
| 010102    |
| 5678      |

次のようにコードを記述します。

<asp:ImageField DataImageUrlField="ProductID" 
               DataImageUrlFormatString="~\YourPathWhereTheImageIs\{0}.jpg" >
               <ControlStyle Width="100px" />
</asp:ImageField>

よろしく。

于 2013-05-10T19:32:34.513 に答える
0

実際に行う必要があるのは、画像を配列に追加するのではなく、配列に URL を追加することです。次に、ImageFieldを使用するか、その URL を TemplateField の gridview で IMG タグのソースとして使用できます。これを行う方法のいくつかの例は、この投稿にあります。TemplateFields の使い方がわからない場合は、こちらを参照してください

データに URL フィールドを追加したくない場合、条件付き書式を取得するには、IMG タグを次のようにします。正確な構文は正しくないかもしれませんが、要点はわかります。:)

<asp:TemplateField HeaderText="EmpID">
    <ItemTemplate>
        <img src="<%# Eval("whatevercolumn") == "Correct" ? "tick.gif" : "cross.gif" %>"/>
    </ItemTemplate>
</asp:TemplateField>
于 2013-05-10T19:04:27.717 に答える
0

グリッド ビューに画像を表示したいだけで、DB 自体に書き戻したくないように聞こえるので、行テンプレートを使用して画像を表示するためのカスタム列を追加するとともに、グリッド ビューの RowDataBound イベントの処理を検討する必要があります。

イベント ハンドラーで式をテストし、結果に基づいてカスタム列に適切な画像を表示します。

于 2013-05-10T19:05:24.443 に答える