2016-11-24 39 views
6

Mam tabeli SQL:Jak pogrupować dane według tytułu?

ID || Title || FileName || Extension || FileContent 
 

 
1 || flower ||rose  || jpg  || binary data 
 

 
2 || flower ||tulip  || jpg  || binary data 
 

 
3 || cats ||black-c || png  || binary data 
 

 
4 || cats ||White-c || jpg  || binary data 
 

 
5 || Dogs ||Brown-d || jpg  || binary data

chcę, aby wyświetlić wszystkie zdjęcia z tego samego tytułu w jednym rzędzie. Tak na przykład, tytuł zawiera kwiaty na obrazki itp

Mam też GridView:

<asp:GridView ID="GridView1" CssClass="gridview" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnRowDataBound="RowDataBound" Width="100%" GridLines="None" SelectedRowStyle-BackColor="#a8c066" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"> 
 
     <Columns> 
 
      <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" ReadOnly="True" Visible="false" />  
 
      <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> 
 
      <asp:BoundField DataField="FileName" HeaderText="FileName" SortExpression="FileName" /> 
 
\t  <asp:BoundField DataField="FileContent" HeaderText="FileContent" SortExpression="FileContent" visible="false" />  
 
     </Columns> 
 
</asp:Gridview>

Więc moim celem jest to, aby wybranego wiersza i kliknij na nią . Jeśli tytuł wybranego wiersza to "kwiat", to powinien załadować 2 obrazy.

co już DID/SPRAWDZONE

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
 
      { 
 
       GridView listBox = sender as GridView; 
 
       int selectedID = Int32.Parse(listBox.SelectedDataKey.Value.ToString()); 
 
       LoadDetail(selectedID); 
 
      }

void LoadDetail(int id) 
 
      { 
 

 
        List<Pic> sb = (from x in myEnt.Pic where x.ID == id select x).ToList(); 
 

 
        lblTitle.Text = String.Join(", ", sb.Select(x => x.Title)); 
 
        Img1.ImageUrl = "data:Image/jpg;base64," + String.Join(", ", sb.Select(x => Convert.ToBase64String((byte[])x.FileContent))); 
 
     }

To tylko pokazuje jeden obraz, (ze względu na wybranym id), ale nie wiedzieć, jak również wymienić ten tytuł. Z góry dziękuję!

Odpowiedz

0

Spróbuj użyć obu kolumnach w DataKeys:

DataKeyNames="ID,Title"> 

var id = listBox.DataKeys[listBox.SelectedIndex].Values["ID"]; 
var title = listBox.DataKeys[listBox.SelectedIndex].Values["Title"]; 
+0

to nadal nie działa ..... – Olga

+0

@Olga Czy można przejść do '' LoadDetail' title'? – artm

+0

Tak, zrobiłem. Po prostu zapomnij go edytować – Olga