2016-12-26 5 views
0

私は2列のグリッドビューを作成しています。列1は名前の値です。他の列に依存するグリッドビューの画像

DataTable dy = new DataTable(); 
SqlDataAdapter dc = new SqlDataAdapter("SELECT name FROM recordTable", con); 
dc.Fill(dy); 
Grid1D.DataSource = dy; 
Grid1D.DataBind(); 

とASP部分は以下のとおりである:ここでは列1の名前の性別に依存している絵を持って2列は、私がこれまで持っているコードです

<asp:GridView ID="Grid1D" runat="server" CssClass="Grid1D" 
    AutoGenerateColumns="false" Font-Names="Arial" 
    Font-Size="11pt" AlternatingRowStyle-BackColor="#C2D69B" 
    HeaderStyle-BackColor="green" AllowPaging="true" 
    PageSize="10"> 
    <Columns> 
     <asp:ImageField DataImageUrlField="PictureURL"></asp:ImageField> 
     <asp:TemplateField HeaderText="Name List"> 
      <ItemTemplate> 
       <asp:Label runat="server" Text='<%# Bind("name") %>' 
        ID="lblname" SelectedRowStyle="myselection" CssClass="reclabel" Width="100%" AutoPostBack="true" onclick="newrec()"></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

私は、画像AとBが性別に依存する画像フィールドをどのように埋め込むのか分かりません。設定された数の行があっても一貫性がない場合は、どのように実行するのか知っています。

+0

性別はあなたのrecordTable内のフィールドですか?そうでない場合は、名前*の性別をどのように決定するかを追加できますか? – rene

答えて

1

これは可能です。ルネが指摘したようにしかし、あなたは次に行う

Name, Gender, image1 and image2 

のように、複数の列が必要になり、この

<asp:TemplateField> 
    <ItemTemplate> 

     <%# Eval("gender").ToString() == "F" ? "<img src=\"female.jpg\">" : "<img src=\"male.jpg\">" %>  
     or  
     <%# Eval("gender").ToString() == "F" ? "<img src=\"" + Eval("image1").ToString() + "\">" : "<img src=\"" + Eval("image2").ToString() + "\">" %> 

    </ItemTemplate> 
</asp:TemplateField> 
関連する問題