Link to home
Start Free TrialLog in
Avatar of jaykhatri
jaykhatriFlag for India

asked on

RepositoryItemPictureEdit in DevExpress LayoutView - Assigning Image from url

Hi, (Question Value 500)
I have been struggling from past 5 hours to populate the image from the database, where database have a url (text) from where image has to be loaded.

I am using Devexpress Winforms 9, and doing this in Layoutview repositoryitempictureedit.

Non of the given event is working so that I may intercept the loading and pass the image based on path given in database.

Please help me out if someone here using Devexpress controls.

Jay Khatri
Avatar of thefritterfatboy
thefritterfatboy

I'm not very familiar with DevExpress but my understanding is this;

You need to handle the DataBound / ItemDataBound event for the LayoutView. In that event, you need to call the FindControl() method on the LayoutView control to get your RepositoryItemPictureEdit control. Next, you need to get the data for the item being bound - this will give you the URL (text) for your image. You then need to load this image in your code and set it to the Image property of your RepositoryItemPictureEdit control.

I don't think there is a simpler way to do this unless you store the image itself in the database as binary data and simply bind it to the RepositoryItemPictureEdit control.
Avatar of Nasir Razzaq
Avatar of jaykhatri

ASKER

Actually the event LayoutView1_CustomUnboundColumnData is not getting fired, first I thought it might be the problem that I have not used any unbound column, then I removed the columns from designer and specified like that:


        Dim ds As New DataSet
        str = "select * from scandocs scandocsreg where reg_id=" & Pubreg_id
        ds = clscmn.Fill_DS(str)
        LayoutView1.GridControl = GCdocs

        LayoutView1.OptionsBehavior.AutoPopulateColumns = False
        GCdocs.DataSource = ds.Tables(0)

        Dim colscandocid As DevExpress.XtraGrid.Columns.LayoutViewColumn = LayoutView1.Columns.AddField("scandocid")
        Dim colscancaption As DevExpress.XtraGrid.Columns.LayoutViewColumn = LayoutView1.Columns.AddField("LastName")
        Dim colscanurl As DevExpress.XtraGrid.Columns.LayoutViewColumn = LayoutView1.Columns.AddField("Address")
        ' Access corresponding card fields.
        Dim fieldscandocid As DevExpress.XtraGrid.Views.Layout.LayoutViewField = colscandocid.LayoutViewField
        Dim fieldscancaption As DevExpress.XtraGrid.Views.Layout.LayoutViewField = colscancaption.LayoutViewField
        Dim fieldscanurl As DevExpress.XtraGrid.Views.Layout.LayoutViewField = colscanurl.LayoutViewField

        ' Assign editors to card fields.
        Dim riPictureEdit As DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit = GCdocs.RepositoryItems.Add("PictureEdit")
        colscanurl.ColumnEdit = riPictureEdit

this is the snippet of load event.

Please help me out if someone is using as I am completely puzzled with this.
SOLUTION
Avatar of Nasir Razzaq
Nasir Razzaq
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
The source code is not compatible with my environment, I think difference in dll and even IDE is not enabling to compile it.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I checked all the parameters but still I am unbale to get the event fired gridView1_CustomUnboundColumnData(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs) Handles LayoutView1.CustomUnboundColumnData

found only the difference i.e. the vb form include the designer data and I my case a designer file is different lke myfle.designer.vb

and my data is initializing in form_load event.
How did you add the unbound column to the grid? Using the Designer?
Ye using designer with fake datafield
All I can say now is that you keep experimenting and trial and error witht he project. Try to match the settings with those in the sample project etc.