如果没有与此描述匹配的内容,那么我能得到的最接近的是什么?
答案 0 :(得分:4)
选项1)在Pharo 1.4或2.0中
我使用了SGrid(a.k.a GridMorph)来显示数百行而没有出现重大性能问题。
安装强>
菜单 - >工具 - >配置浏览器 - > MorphicGrid(安装)
示例强>
| matrix grid rows cols |
rows := 2.
cols := 3.
matrix := Matrix rows: rows columns: cols.
1 to: rows do: [ : r |
1 to: cols do: [ : c |
matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
grid := (GridMorph
from: matrix
performing: {
'Heading 1' -> #asNumber .
'Heading 2' -> #asNumber .
'Heading 3' -> #asNumber })
title: 'GridMorph Example'.
grid openInWorld.
要与网格交互(例如在任何单元格上显示右键菜单),您将不得不修复与SmalltalkEditor类的引入相关的问题。 以下代码使用GridMorph和flickr API打开表格图片查看器(flickr API用法基于this cast):
| xmlStream xmlDoc photos |
xmlStream := 'http://api.flickr.com/services/feeds/photos_public.gne?id=14577317@N06&lang=en-us&format=rss_200' asUrl retrieveContents readStream.
xmlDoc := XMLDOMParser parseDocumentFrom: xmlStream.
photos := OrderedCollection new.
xmlDoc allElementsNamed: #item do: [ : item| | thumbUrl photoUrl |
thumbUrl := ((item findElementNamed: #media:thumbnail) attributeAt: #url) asUrl.
photoUrl := ((item findElementNamed: #media:content) attributeAt: #url) asUrl.
photos add: (photoUrl -> (Form fromBinaryStream: thumbUrl retrieveContents readStream)) ].
((GridMorph
from: photos
performing: {'URL' -> [: assoc | assoc key asString ] . 'Picture' -> [: assoc | assoc value asMorph ]})
title: 'Flickr GridMorph Example') openInWorld.
选项2)在Pharo 1.4或2.0中
有一个类MorphTreeMorph,它包含一个带有几个示例网格的注释。
示例强>
SimpleGridExample new open
ClassListExample new openOn: Collection.
选项3)在Squeak中:
有一个名为Skeleton – easy simulation system的项目,它使用eToys,您可以从以下位置访问其代码:http://source.squeak.org/etoysinbox.html
<强>安装强>
Installer squeak
project: 'etoysinbox';
install: 'Skeleton'.
示例强>
SkSheet example "Move the red circle around"
我没有使用它,但它似乎有基本的公式支持。
答案 1 :(得分:2)
汉斯 - 马丁·莫斯纳(Hans-Martin Mosner)在这里开始了一个......
http://smalltalkhub.com/#!/~StephaneDucasse/PetitsBazars/packages/Spreadsheet。
在Pharo这个你可以做...
sheet := SpreadsheetGridMorph new openInWindow.
sheet cellStringAt: 1@1 put: '10'.
sheet cellStringAt: 1@2 put: '20'.
sheet cellStringAt: 1@3 put: '=A1+A2'.
sheet cellStringAt: 1@3. "-->30"
答案 2 :(得分:1)
我最喜欢不受行和列的限制,并且喜欢对象浏览器和检查器的可见性。
我不确定你在这里尝试解决什么问题。
在与专家配对编程几个小时的同时,应该学习一个小磁场环境。使用它的方式与使用Eclipse,Visual Studio,XCode或Delphi等IDE非常不同。
如果你想筛选大量数据并找到有趣的对象,Moose在可视化数据方面提供了很多帮助。它专注于软件再造,但是蒙德里安同样适用于财务数据。
答案 3 :(得分:1)
这个问题的答案似乎是“不”。