Как получить таблицу для отображения изображений - PullRequest
2 голосов
/ 30 марта 2019

Я строю таблицу в Приморском (используя VisualAge Smalltalk). Я хотел бы, чтобы каждая строка таблицы имела изображение, а также текстовые данные. Вот как выглядит метод:

, где PSIni getImageUrl возвращает основную часть url. Финал url выглядит http://www.totallyobjects.com/images/pennstadt//15.jpg

Может кто-нибудь указать мне, как это сделать, пожалуйста?

 makeData: html usingMethod: aMethod

|tableData headingList methodList|

tableData := self perform: aMethod.
headingList := self headingList.
methodList := self methodList.

html table: [ 
    html tableRow: [ 
        headingList do: [ :each | html 
            tableHeading: each 
        ]
    ].
    tableData do: [ :one |          
        html tableRow: [
            methodList do: [ :each | 
                each = #image ifTrue: [ 
                    html tableData: (self showImageFor: one id using: html)
                ] ifFalse: [ 
                    html tableData: (one perform: each)                        
                ]
            ]
        ]
    ]
]

(self showImageFor: one id using: html), очевидно, не работает. Этот метод выглядит так:

showImageFor: anID using: html

html image width: 200; url: PSIni getImageURL, '/', anID printString, '.jpg'

, где PSIni getImageUrl возвращает основную часть url.

Финал url выглядит так: http://www.totallyobjects.com/images/pennstadt/15.jpg и должно привести к тому, что это изображение появится в одном элементе строки таблицы.

1 Ответ

3 голосов
/ 01 апреля 2019

Вам необходимо вложить кисти:

html tableData: [ (self showImageFor: one id using: html) ]

Это подробно объясняется в книге: http://book.seaside.st/book/fundamentals/rendering-components

...