如何获取用于显示图像的表格

问题描述 投票:2回答:1

我正在Seaside建立一个表(使用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并且应该导致该图像出现在表格行的一个元素中。

smalltalk seaside
1个回答
3
投票

你需要嵌套画笔:

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

它在书中深入解释:http://book.seaside.st/book/fundamentals/rendering-components

© www.soinside.com 2019 - 2024. All rights reserved.