2016-12-26 69 views
0

我正在制作一个2列的gridview。第1列是名称值。塔2将有一个图象,其取决于在柱1。这里的名称的性别是代码我迄今为止:依赖于其他列的Gridview图片

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

和asp的部分如下:

<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>