2010-10-10 63 views
3

here开始,我需要在我的web应用程序中使用RichFaces 3.3.3,JSF 1.2和Facelets创建一个内联可编辑网格。RichFaces应用程序,我应该使用rich:dataTable还是jQGrid,优点缺点?

我的选择是对rich:dataTable RichFaces的控制,或jQuery插件,jQGrid

我曾经尝试都和迄今发现以下几点:

  1. jqGrid的作品真的很好,但我不知道是什么如果我尝试从网格中刷新JSF控件,会发生什么,如果可能的话?
  2. 我很犹豫从jQGrid中使用或触发RichFaces模态窗口,这会导致问题吗?或者我应该坚持纯jQuery模态?
  3. 使用jQGrid安全,看起来像我必须做很多我自己的管道,失去了richfaces控件的好处?我对吗?
  4. rich:dataTable没有固定头文件的可滚动表。 richfaces有一个可滚动的表格,但支持内联编辑有问题。 (头dissapear和编辑工作不正常)
  5. 丰富:数据表上不是很定制的,缺少一些非常好的,有一个jqGrid的具有
  6. 丰富的功能:表具有一些问题,似乎无法解决的或将需要JS黑客(例如,如果您在可编辑行内使用日历控件,只需点击一下而不是默认双击即可编辑行,日历控件中的一次单击会在该行上再次触发编辑事件,使您在其他位置丢失更改字段)。

除了上面的一些问题,我想知道每个问题的优点和缺点,以及从长远来看哪些方法更容易维护和扩展和完成。

回答

1

在过去的1.5年中,我在使用jQuery组件和Grails之前,已经使用了ricfaces和JSF 4-5年。这里是我对主题:

  1. 最终JSF控件呈现为HTML组件,所以我没有看到令人耳目一新的组件(如果有的话你没有对JSF生成的ID的处理任何问题控制你可以用div包围控件,然后刷新div)。
  2. 恕我直言 - jQuery模式相当简单易用,比RichFaces模式面板更灵活。
  3. 我不认为这是正确的,但不知道你的用例很难说。我相信你会失去的一件事是由jsf组件提供的双向数据绑定。

4,5,6 - 有利于jqGrid的。使用JSF的

优点 - 因为你的服务器端代码是JSF,你得到的数据绑定内置到您的UI组件(两种方式 - 服务器到客户端和客户端服务器)。另一件事是JSF组件的外观与页面的其余部分相匹配。有了jqGrid,你将不得不自定义主题。

缺点使用JSF的 - 富:数据表上不是很定制的,不是大富比的jqGrid。所以,如果你有一个复杂的用户界面,并且你意识到某个特定的UI功能不是通过rich:dataTable支持的,那么你别无选择,只能使用其他组件或放弃该功能。jqGrid的的

优点 - 丰富的功能,很容易定制。我已经做了 - 只有一条路数据从服务器到客户端绑定 - 的TreeGrid,冻结列,可编辑的栏目,客户端插件qtip等

的jqGrid的

缺点验证。为了达到这个目的,在将数据发送到客户端之前,必须编写一些服务器代码来将数据格式化为JSON结构。对于从客户端到服务器的数据绑定:您将不得不手动将请求参数映射到JSF bean。

注:我没有使用的jqGrid与JSF后端。但是,我的回答是基于我对每个框架如何工作的理解。

相关问题