c# - ¿Cómo agrupar datos por título?
gridview binary (1)
Intenta usar ambas columnas en DataKeys:
DataKeyNames="ID,Title">
var id = listBox.DataKeys[listBox.SelectedIndex].Values["ID"];
var title = listBox.DataKeys[listBox.SelectedIndex].Values["Title"];
Tengo una tabla 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
Quiero mostrar todas las imágenes con el mismo título en una fila. Entonces, por ejemplo, el título flores contiene imágenes, etc.
También tengo una vista de cuadrícula
<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" />
<asp:BoundField DataField="FileContent" HeaderText="FileContent" SortExpression="FileContent" visible="false" />
</Columns>
</asp:Gridview>
Entonces mi objetivo es seleccionar una fila y hacer clic en ella. Si el título de la fila seleccionada es "flor", debe cargar las 2 imágenes.
LO QUE YA HICE / PROBÉ
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)));
}
Solo muestra una imagen, (debido a la identificación seleccionada) pero no sé cómo mencionar el título también. ¡Gracias por adelantado!