0

今天我有一个独特的挑战。我有一个客户希望能够根据插入到 cfgrid 中来搜索多个项目。假设我们有以下 Web 表单:

  • 国家选择下拉菜单
  • 依赖于状态选择的 AJAX 下拉列表
  • 一个城市选择依赖的 AJAX 下拉菜单
  • 添加按钮
    ------------------------------------------------------------ -----
  • 当用户单击添加按钮时,将使用选择填充一行的 CFGRID
    ---------------------------------- ------------------
  • 最后是 CLEAR 按钮和底部的 GO 按钮。

然后生成的页面将查询数据库并获取有关所选城市的一些统计信息。因此,假设个人选择美国 > 亚利桑那 > 斯科茨代尔和美国 > 亚利桑那 > 弗拉格斯塔夫。选项下方的网格将“保存”每个选择并重置为其默认选项,等待用户选择其他选项或单击“开始”。

然后,生成的页面将生成列,列出有关社区的一些统计数据,并突出显示每个选定社区之间的“最佳”。

每次用户选择添加按钮时(假设选择了三个条件),我希望将信息添加到显示所选选项的 CFGRID 中。然后,在用户选择至少一个国家/城市/州选项后,将 CFGRID 中的所有数据传递到另一个页面,该页面对所选数据进行查询。理论上,用户可以根据需要选择尽可能多的社区,假设他们愿意让数据库通过足够多的数据来获取他们想要的数据并等待通过“加载”屏幕来获取它。

我遇到了这些挑战,没有特定的顺序: - 我有一个 HTML 网格,我必须按照客户端规范使用(没有 Java 或 Flash,必须是 HTML) - 我不知道如何将选定的选项放入 CFGRID。我假设我可以编写一些 JavaScript,它使用某种 AddRow 函数通过添加按钮将数据添加到网格中,但似乎无法在互联网上找到如何使用它 - 在我们克服了上述挑战之后,我该如何通过从网格中的数据到结果页面?我考虑过传递一个大字符串或一个结构,但我不确定如何通过 URL 或发布来做到这一点,也不知道如何从网格中获取数据。我想知道我是否最好使用 get 方法对从选项页面传递到结果页面的某种字符串进行编码,而不是处理 CFGRID 中的内容并将 CFGRID 仅用作“虚拟”显示容器。- 最后,在 pass 完成后,我需要遍历结构并对每一行数据执行 CFQUERY 或 CFSTOREDPROC,然后获取我需要在结果页面上显示的统计信息。我认为这取决于我如何将数据从选项选择页面获取到结果页面。

谢谢你们!

4

2 回答 2

1

CFGRID 是一个很好的开始,但它可以是 b*tch 自定义和扩展......你试过可编辑的 CFGRID 绑定吗?看看它离你想要的有多远。如果结果很远,那么您可能想要使用 jqGrid 并编写一些 jQuery。

首先,阅读使用 HTML 网格并使 cfgrid 可编辑。 http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7a01.html#WSc3ff6d0ea77859461172e0811cbec22c24-72e0

一旦你开始工作,看看这些提供的 JS 函数,你可以与 CFGRID 一起使用

如果您仍然要求更多,您可能需要深入研究底层的 ExtJS 组件。那时我宁愿使用 jqGrid

于 2012-04-28T17:13:24.693 回答
0

我发现处理这个问题的最佳方法是来回使用 SerializeJSON 调用和 Deserialize JSON 调用。通过使用 JavaScript 表示法,我们能够在一个页面和另一个页面之间传递一个复杂的 JavaScript 对象(数组)。这具有不必担心会话超时并使 URL 可从一个解决方案点击到下一个解决方案的附加值。

于 2012-06-20T19:42:31.043 回答