Member 12802669 Ответов: 1

Как отобразить все изображения из SQL с одинаковым заголовком В gridview?


I have a 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="Titel" HeaderText="Titel" SortExpression="Titel" />
            <asp:BoundField DataField="Path" HeaderText="Path" SortExpression="Path" />        
            <asp:BoundField DataField="extension" HeaderText="extension" SortExpression="extension" ItemStyle-CssClass="hide" HeaderStyle-CssClass="hide" />
            <asp:BoundField DataField="ContentType" HeaderText="ContentType" SortExpression="ContentType" ItemStyle-CssClass="hide" HeaderStyle-CssClass="hide" /> 
         

<SelectedRowStyle BackColor="#A8C066"></SelectedRowStyle>



there are many Pictures in SQL with the same title. I want that if you select a row and click on it, it will Show all the Images matching to the title of the selected row.
I tried this: 


Что я уже пробовал:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
          {
              GridView listBox = sender as GridView;
              int selectedID =  Int32.Parse(listBox.SelectedDataKey.Value.ToString()); // this works!
              string titel = listBox.SelectedRow.Cells[1].Text;
              LoadDetail(selectedID, titel);
          }

           void LoadDetail(int id, string titel)
           {
               Users users = (from x in myEnt.Schwarzes_Brett where (x.ID == id) && (x.Titel == titel) select x).FirstOrDefault();

             lbltitle.Text = users.title;
             Img1.ImageUrl = "data:Image/jpg;base64," + Convert.ToBase64String((byte[])sb.FileContent);
           }


затем я нажимаю на него, он просто показывает одну картинку, но в SQL есть 4 картинки, сохраненные с тем же названием....

$*Developer - Vaibhav*$

вам нужно создать элемент управления изображением во время выполнения для привязки изображений

код описывает только один элемент управления изображением, который вы используете (Img1.Url_изображения)

1 Ответов

Рейтинг:
2

J. Calhoun

В настоящее время похоже, что вы получаете название из этого кода.

Users users = (from x in myEnt.Schwarzes_Brett where (x.ID == id) && (x.Titel == titel) select x).FirstOrDefault();


Linq получает только первый или по умолчанию, вам нужно выбрать все из них, так что я мог бы сделать
List<users>
а затем вы можете использовать linq для извлечения всех из них в список

List<users> users = (from x in myEnt.Schwarzes_Brett where (x.ID == id) && (x.Titel == titel) select x).ToList();


Затем для каждого пользователя в этом списке вы можете добавить изображение в свой вид сетки


Member 12802669

Думаю, это может сработать. Я пробовал, но не знаю, как писать этикетки.

lbltitle.Text = users. title; больше не работает....

J. Calhoun

Ну, теперь пользователи - это список, так что вы можете сделать одно из двух: добавить еще один список внутри вашего представления сетки, который имеет источник элементов пользователей и привязан к Title1, или вы можете перебирать пользователей и назначать свойство каждому заголовку.