BG Development


  Reply to this topicStart new topicStart Poll

> Добавяне на Image в listview
maqk
Публикувано на: 13-07-2017, 09:43
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 24
Регистриран на: 05.07.04



Здравейте на всички и предварително благодаря. Да ви опиша какво ми трябва имам база данни Mysql и се свързам отдалечено, чета ред като колоните в база данните са
id
number
locaudi
locvw
au
pkw
lnf
description
pic(MediumBlob)
ето го и метода

CODE

class tool
.....
public Tool(int id, string number, string locAudi, string locVW, bool au,
                   bool pkw, bool lnf, string desc, Image img)
       {
           this.ID = id;
           this.Number = number;
           this.LocAudi = locAudi;
           this.LocVW = locVW;
           this.Au = au;
           this.Pkw = pkw;
           this.Lnf = lnf;
           this.Desc = desc;
           this.Img = img;        
       }

..
..
while (reader.Read())
           {
               
               int id = (int)reader["id"];
               string number = reader["number"].ToString();
               string locAudi = reader["locaudi"].ToString();
               string locVW = reader["locvw"].ToString();
               bool au = reader.GetBoolean(4);
               bool pkw = reader.GetBoolean(5);
               bool lnf = reader.GetBoolean(6);
               string desc = reader["description"].ToString();
               byte[] byteBLOBData = (byte[])reader["pic"];
               var stream = new MemoryStream(byteBLOBData);
               Image bookimages = Image.FromStream(stream);
               //myImageList1.Images.Add(bookimages); това правилно ли е също ???

               tool.Add(new Tool(id, number, locAudi, locAudi, au, pkw, lnf, desc, bookimages));
           }


и всеки един обект от класа Tool съдържа горните property-тита.
попълвам ги в listview в Window Form всичко излиза всичките данни но снимката на кололата pic не мога ето и метода които попълвам listview-то. Искам като се изпълни метода LoadAll да се листне цялата база данни + снимките
CODE

...
...
private void LoadAll()
       {
           List<Tool> tool = Tool.GetTools();
           ImageList myImageList1 = new ImageList();
           listView1.Items.Clear();
           int index = 0;
           foreach (var u in tool)
           {
               ListViewItem item = new ListViewItem(new string[] { u.ID.ToString(), u.Number, u.LocAudi,
                                                               u.LocVW, u.Au.ToString(), u.Pkw.ToString(),
                                                               u.Lnf.ToString(), u.Desc}); //ето тук може би нещо не правя бихте ли ме насочили

               //listView1.SmallImageList = u.Img;
               //listView1.Items.Add(item.ToString(), u.Img.Images.Count - 1);
               myImageList1.Images.Add(u.Img);
               listView1.SmallImageList = myImageList1;

               item.Tag = u;
               listView1.Items.Add(item);
               
           }

           
       }

PMICQ
Top
NPavlov
Публикувано на: 13-07-2017, 11:38
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 803
Регистриран на: 03.12.08



Трябва да сложиш ImageIndex на всеки ListViewItem:
CODE
item.ImageIndex = index;

И не е нужно
listView1.SmallImageList = myImageList1;
да е вътре в цикъла.

Така обаче картинката ще излиза отпред. Ако искаш да излиза в друга колона, трябва да си рисуваш сам целия ListViewItem. Или да използваш GridDataView.
PMEmail Poster
Top
maqk
Публикувано на: 13-07-2017, 14:09
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 24
Регистриран на: 05.07.04



благодаря много
PMICQ
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0