2013-09-26 9 views
0

데이터 테이블의 행이 호출됩니다. FirstImage에는 웹 서버의 이미지 파일에 대한 URL이 들어 있습니다. 이 행의 데이터를 그림 상자의 이미지 원본에 바인딩하려고합니다.그림 상자에 데이터 바인딩을 사용하는 VB.Net

내 현재 코드 :

For Each row As DataRow In ListData.Rows 
    Dim ImageDecode = ser.Deserialize(Of PropertyImage())(row("Images")) 
    row("FirstImage") = "http://rental.joshblease.co.uk/propertyimages/" & ImageDecode(0).Image 
    'Returns http://rental.joshblease.co.uk/propertyimages/image1.jpg 
Next row 
TxtListName.DataBindings.Add("Text", ListData, "Name") 
TxtListSlug.DataBindings.Add("Text", ListData, "Slug") 
TxtListCreated.DataBindings.Add("Text", ListData, "Created") 
ImgListItem.DataBindings.Add("Image", ListData, "FirstImage", True) 
DataRepeater1.DataSource = ListData 

그러나 순간에 이미지가 여전히 비어

. 숨겨진 텍스트 상자에 위치를 입력하고 데이터를 복사하려고 시도했지만 데이터 중계기에서 컨트롤을 사용하는 방법을 파악할 수 없습니다.

If Me.DataRepeater1.ItemCount > 0 Then 
    Dim n As Integer = Me.DataRepeater1.ItemCount 
    For i As Integer = 1 To n 
     Me.DataRepeater1.CurrentItemIndex = i - 1 
     Dim item = Me.DataRepeater1.CurrentItem 
     item.Controls("ImgListItem").ImageLocation = item.Controls("TxtImageLocation").Text 
    Next 
End If 
+0

귀하의 이미지 http://rental.joshblease.co .uk/propertyimages/image1.jpg는 내가 방문 할 때 404 오류를 던집니다. – alstonp

+0

@alstonp 나는이 경우 이미지 이름이 단순화되었음을 알고 있습니다. –

답변

0

이미지에 대한 데이터 바인딩은 바이너리 이미지 데이터를 예상하고,이 경우 귀하는 그것을 문자열을 전달 :

숨겨진 텍스트 상자 코드에서 실험 사본이었다. 우리가 할 수있는 것은 이미지 위치를 바인딩이 이해할 수있는 형식으로 변환하는 것입니다. 이 링크 C# Code Snippet - Download Image from URL을보십시오. 그런 다음 이미지를 메모리에 저장하면 PictureBox에 이미지를 바인딩 할 수 있습니다. 또한

는, 간단히 추가 this answer에 표시된 간단한 방법은 URIs are not supported by the BitMap class.

1

때문에 당신을 위해 작동하지 않을 것이라는 점을 명심 그림 상자 속성 ImageLocation

ImgListItem.DataBindings.Add("ImageLocation", ListData, "FirstImage", True)