2011-01-25 70 views
0

在我深入使用jqGrid之前,我有几个问题,其他已经投入大量时间的人可能会回答。jqGrid评估

  1. 它支持轻松/简单 hidding某些列的,像例如,在一个应用程序的用户选择自己设置的选项,他们可能会设置一些列隐藏?这是否需要JS,HTML和数据准备的条件呈现(在MVC控制器中)?例如,当我们编辑一个行(就地或对话框)时,我们只更新HTML(确切地说,DOM),但我们不会AJAX POST什么都没有做,直到做完整的回发?
  2. 一般来说,它适用于我们的数据还不存在于数据存储中的情况(我们正在动态创建数据并在回发后插入数据)?

您可能会考虑我们创建新发票表单的情况,并且作为发票的一部分,有多个发票项目。这些当然不能在保存发票之前保存(我们需要将发票附加到发票上)。所以我现在做的是回发整个表单,创建发票,然后枚举表项以插入发票项目。

希望有人已经与jqGrid严重工作会知道答案。

回答

0

1)jqGrid列定义支持hidden:true隐藏相应列的属性。您可以使用setColProp方法设置列动态。如果你想允许用户选择列的顺序或隐藏一些列,你可以使用columnChooser

2)您可以使用jqGrid显示或修改本地数据。 Inline editingcell editing支持这一点。如果是内联编辑,则应使用editurl:'clientArray',如果是单元编辑,则应使用cellsubmit:'clientArray'(例如,请参阅this answer的示例)。 Form editing在没有任何对服务器的AJAX请求的情况下没有完整的本地编辑支持,但是使用虚拟服务器url也可以通过表单编辑实现本地编辑(请参阅the jqGrid demo,在左侧选择“3.7版新增”,然后选择“添加/编辑/删除本地数据“)。

3)您可以使用jqGrid来显示或修改本地数据,而不仅仅是从数据库加载的数据。要使用datatype参数设置为"local","jsonstring","xmlstring"并使用datadatastr选项来填充数据。我更喜欢使用datatype:"local"并使用data参数初始化包含网格。