2016-11-24 3 views
6

私は、SQLテーブルを持っている:タイトルごとにデータをグループ化するには?

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

私は1つの行に同じタイトルを持つすべての写真を表示したいです。

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

だから私の目標は、それが選択された行にあり、それをクリックしてください: だから、たとえば、タイトルの花が

私もGridViewコントロールを持っているなど、写真に含まれています。選択した行のタイトルが「花」よりも大きい場合、2つのイメージをロードする必要があります。

は、私はすでに何をしたか/

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))); 
 
     }

それだけで(理由は選択されたIDの)1枚の画像を表示しますが、私はいけませんあまりにもタイトルを言及する方法を知っている。前もって感謝します!

答えて

0

DataKeysで両方の列を使用してみてください:

DataKeyNames="ID,Title"> 

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

が、それはまだ動作しません.....あなたはLoadDetail' 'へ' title' – Olga

+0

@Olga合格しましたか? – artm

+0

はい、私はしました。ちょうどforgtを編集する – Olga

関連する問題