2017-01-06 1 views
0

ListViewImageList을 사용하여 이미지 격자보기를 만들었습니다. image namesdatabase이고 이미지는 categories 폴더에 저장됩니다. I 추가 이미지목록보기 항목 및 이미지 목록 항목 missmatching

imgList.Images.Add("", Image.FromFile(@"./categories/" + dr["image"]));하지만 프로그램이 second image으로 올바른 이미지로 설정되어 있지 1st 목록보기 항목, 1st 목록보기 item을 실행할 때, 나는 인덱싱 오류가 있다고 생각합니다. 이 문제를 해결하기 위해 내 코드 또는 방법에 문제가 있습니까?

private void LoadCategories() { 
      DataTable categories; 
      con = new Dbfunctions(); 
      con.MysqlQuery("SELECT * FROM categories WHERE online = 1"); 
      categories = con.QueryEx(); 

      //ImageList 

      ImageList imgList = new ImageList(); 

      //CLEAR listview_Category items 
      listView_Category.Items.Clear(); 

      //set listview category items as Large icons 
      listView_Category.View = View.LargeIcon; 

      //ADD image list into Listview 
      listView_Category.LargeImageList = imgList; 


      int i = 0; 
      //ADD image into imagelist and Listview 
      foreach(DataRow dr in categories.Rows){ 
       imgList.Images.Add("", Image.FromFile(@"./categories/" + dr["image"])); 
       ListViewItem category = new ListViewItem(); 

       //bind listview item vwith image list item 
       category.ImageIndex = i; 

       //set Category name 
       category.Text = dr["name"].ToString(); 

       //set font list items styles 
       category.Font = new System.Drawing.Font("Courier New", 15, System.Drawing.FontStyle.Regular); 
       category.ForeColor = System.Drawing.Color.FromArgb(252, 119, 123); 

       //ADD category items into Listview 
       listView_Category.Items.Add(category); 

       imgList.ImageSize = new Size(140, 140); 
       imgList.ColorDepth = ColorDepth.Depth32Bit; 

       i++; 
      } 


     } 
+0

좋아요. 당신은 __sure__ 불일치하고 있습니까? – TaW

+0

예, 첫 번째 이미지가로드되지 않습니다 ... 두 번째 이미지가 먼저옵니다. – user3722956

답변

-1

DB 행의 모양을 제공하십시오. 어쩌면 당신은 DB에서 missmatch가있어서 적절한 색인을 부르지 않을 것입니다.

+0

이것은 답변이 아닙니다! 댓글로 이동하고 삭제하십시오! – TaW

+0

나는 (낮은 평판) 아직 논평 할 수 없으며 발행인을 도울 용의가있다. – NealSinclair