2011-05-07 16 views
5

私はパスがデータベースに保存されている画像を表示するグリッドビューを持っています。このコードを試しましたが、すべての行で1つのピクチャしか繰り返しません。誰も私がこの問題を解決するのを助けることができますか?私はcustomunboundcolumnイベントを使いたくありません。私のコードは、あなたがDevExpress.XtraEditors.Repository.RepositoryItemPictureEditを使用する必要がcutomunboundcolumnイベントを使用せずに画像パスからgridviewセルに画像を表示する方法は?

SqlCommand cmd = new SqlCommand("select * from picture", con); 
     SqlDataAdapter adp = new SqlDataAdapter(cmd); 
     DataSet ds = new DataSet(); 
     adp.Fill(ds); 
     gridControl1.DataSource = ds.Tables[0]; 
     DevExpress.XtraGrid.Columns.GridColumn image = new DevExpress.XtraGrid.Columns.GridColumn(); 
     gridView1.Columns.Add(image); 
     image.Caption = "Image"; 
     image.Name = "img"; 
     image.FieldName = "img"; 
     image.Visible = true; 
     image.VisibleIndex = 3; 
     int row = ds.Tables[0].Rows.Count; 
     DevExpress.XtraGrid.Views.Base.ColumnView cgv = (DevExpress.XtraGrid.Views.Base.ColumnView)gridView1; 
     DevExpress.XtraEditors.Repository.RepositoryItemImageEdit rpic = new DevExpress.XtraEditors.Repository.RepositoryItemImageEdit(); 
     rpic.NullText = "No Image"; 
     rpic.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom; 
     DevExpress.Utils.ImageCollection images = new DevExpress.Utils.ImageCollection(); 
     for (int i = 0; i < row; i++) 
     { 
      string imgpath = ds.Tables[0].Rows[i]["fpath"].ToString(); 

      images.Images.Add(Image.FromFile(imgpath)); 

      rpic.Images = images; 
      gridView1.Columns["img"].ColumnEdit=rpic; 

      gridView1.SetRowCellValue(i,"Image",rpic); 

      gridView1.SelectRow(i); 
      MessageBox.Show(gridView1.FocusedRowHandle.ToString()); 
      // gridView1.SetFocusedRowCellValue("Image",gridView1.Columns["img"].ColumnEdit= rpic); 
     } 
     gridView1.BestFitColumns(); 

答えて

0

下に表示されます。

1

あなたが次にRepositoryItemPictureEdit

RepositoryItemPictureEdit rePictureEdit = gridControl1.RepositoryItems.Add("PictureEdit") as RepositoryItemPictureEdit; 
rePictureEdit.NullText = " "; 
rePictureEdit.SizeMode = PictureSizeMode.Squeeze; 

columnName.ColumnEdit = rePictureEdit; 

columnName.Value = Image.FromFile([email protected]"{imagePath}"); 
としてあなたColumnEditを作成する必要があります
関連する問題