2016-12-26 12 views
0

Я делаю сетку с двумя столбцами. Столбец 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: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

Вы могли бы это сделать. Но, как Rene указал, что вам нужно будет несколько столбцов, как

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> 
Смежные вопросы