2012-04-28 85 views
0

我正在开发一个基于SproutCore 1.8的项目。我的应用程序必须在复杂的表格视图中显示大量数据。事实上,表格视图将是应用界面的核心元素之一。另外,我可能需要一个大纲/树视图,允许我在类似表格视图的界面组件中显示分层数据。SproutCore:SC.TableView的替代品

我最初尝试使用SC.TableView,但似乎在SproutCore框架的v1.6版本中不推荐使用。我有一个控制台输出建议使用社区桌面视图,但没有发现太多。

我在SC Google Groups中发现了一些暗示,应该考虑使用SlickGrid,并且有人编写了small SproutCore wrapper around SlickGrid,您可以将其插入SproutCore应用程序。我不得不承认,我还没有尝试过。

但是,由于我的应用程序并不是一个很大的实验,我也不太愿意为标准UI组件投入太多精力,所以我期望在复杂的UI框架中随时可用,我想问问是否有任何解决方案这是可靠的,并且可以在SproutCore框架中“开箱即用”工作?

回答

1

然而,正如我的应用程序是不是一个大的实验,我不是真的愿意把很多精力,我希望是在一个复杂的UI框架现成的标准UI组件,我想问一下是否有任何可靠的解决方案,并且可以在SproutCore框架中“开箱即用”工作?

不幸的是,简短的回答是否定的。 Sproutcore是一个有很多优势的好框架,但诚实的事实是没有好的桌面视图可以使用。

您最好的选择是使用SlickGrig按照谷歌群组建议。如果外部磁带库满足您的所有需求,那么它也不会与SC一起工作。您将创建一个SC.View。执行didAppendToDocument方法,并在其中根据指令初始化光滑网格。从那里,使用SC.Event.add来侦听光滑网格DOM上的事件,并在您的处理程序中调用您的应用程序逻辑。一定要包装在SC.run(function(){...})中,这样你就可以得到一个runloop。所以基本上,你正在写一个视图,代表一个光滑的网格实例。您将面临的最大挑战是浏览器可计算性问题,SC的数据表示与SG的内部表示(用于排序和什么)保持同步,如果您打算利用SG的许多功能,则可能需要一些代码。

另一种选择是推出自己的网格。但这是更多的工作。

真的,如果SG路径看起来太困难了,实际上你最好用带有网格的框架。

+0

感谢您的答案@hvgotcodes。我目前所做的工作也是对我工作的公司的SproutCore的评估。你能否给我一个关于哪些框架可以提供复杂网格的方向? – starbugs 2012-04-29 14:52:22

+0

http://www.sencha.com/是众所周知的,并且有很好的用户群。 – hvgotcodes 2012-04-29 17:39:26