2011-05-07 14 views
5

Yolları bir veritabanında depolanan görüntüleri göstermek istediğim bir kılavuz görünümüm var. Bu kodu denedim ancak tüm satırlarda sadece bir resmi tekrarlar. Bu problemi çözmek için bana yardımcı olan var mı? Customunboundcolumn etkinliğini kullanmak istemiyorum. Kodum Sen DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit kullanmak zorundaCutomunboundcolumn olayını kullanmadan görüntü yolundan gridview hücresindeki görüntü nasıl gösterilir?

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(); 

cevap

0

aşağıda gösterilmiştir.

1

Sen Sonra 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}"); 
olarak ColumnEdit yapmak gerekir