2012-04-28 51 views
0

今天我有一點獨特的挑戰。我有一個客戶希望能夠基於插入到cfgrid中搜索多個項目。假設我們有以下的Web表單:
COLDFUSION CFGRID Datapass和一個職位

  • 一個國家選擇下拉
  • 狀態選擇相關的AJAX下拉
  • 一個城市的選擇依賴AJAX下拉
  • 添加按鈕
    - --------------------------------------------------
  • 一個CFGRID,將填充選擇的行當用戶點擊添加按鈕時啓用
    ---------------------------------------- ------------
  • 最後,一個CLEAR按鈕和一個GO按鈕在底部。

生成的頁面將查詢數據庫並獲取有關所選城市的統計信息。所以,假設一個人選擇美國>亞利桑那州>斯科茨代爾和美國>亞利桑那州>弗拉格斯塔夫。選項下方的網格將'保存'每個選擇並重置爲其默認選項,等待用戶選擇其他選項或點擊'開始'。

生成的頁面將生成列出一些關於社區的統計信息並突出顯示每個選定社區之間的「最佳」的列。

每次用戶選擇ADD按鈕(假設選擇了三個標準),我希望將信息添加到顯示所選選項的CFGRID中。然後,在用戶選擇至少一個國家/城市/州選項後,將CFGRID中的所有數據傳遞到另一個頁面,該頁面根據所選數據執行查詢。理論上,用戶可以根據自己的需要挑選儘可能多的社區,假設他們願意讓數據庫通過足夠的數據獲得滿意的數據,並通過「加載」屏幕等待以獲得所需的數據。

我有這些挑戰,沒有特定的順序: - 我有,我必須根據客戶規範使用HTML電網(未安裝Java或Flash,必須是HTML) - 我不知道怎麼弄的選定的選項放入CFGRID。我假設有一些我可以編寫的JavaScript,它使用某種AddRow函數通過添加按鈕將數據添加到網格中,但似乎無法在網絡上找到它如何在我們克服上述挑戰後,如何通過數據從網格輸入結果頁面?我想過要傳遞一個大的字符串或結構,但我不知道如何通過URL或發佈來實現,也不知道如何從網格中獲取數據。我想知道是否我更好的編寫某種類型的字符串,它使用get方法從選項頁面傳遞到結果頁面,而不是處理CFGRID中的內容,並使CFGRID僅用作「虛擬」顯示容器。 - 最後,通過完成後,我需要遍歷整個結構並對每行數據執行CFQUERY或CFSTOREDPROC,然後獲取需要在結果頁面上顯示的統計信息。我認爲這取決於我如何從選項選擇頁面到結果頁面獲取數據。

謝謝大家!

回答

0

我發現處理這個問題的最好方法是使用SerializeJSON調用和Deserialize JSON來回調用。通過使用JavaScript表示法,我們可以在一個頁面和另一個頁面之間傳遞一個複雜的JavaScript對象(數組)。這具有增值功能,無需擔心會話超時,並使URL可從一個解決方案點擊到另一個解決方案。

1

CFGRID非常好用,但它可以用來自定義和擴展...你是否嘗試過使用綁定編輯CFGRID?先看看你想要的東西有多遠。如果事實證明它非常遙遠,那麼你可能想要一個jqGrid並編寫一些jQuery代碼。

要開始,請閱讀使用HTML網格並使cfgrid可編輯。 http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7a01.html#WSc3ff6d0ea77859461172e0811cbec22c24-72e0

一旦你得到了工作,看看您可以用CFGRID

使用。如果你仍然需要一個提供的這些JS功能多一點,你可能需要挖掘底層的ExtJS組件。在那一點上,我寧願使用jqGrid

+0

我將我的+1添加到jQuery而不是cfgrid。使用它以超出教程和樣品提供的任何程度是一個拉發經驗:) – 2012-04-28 18:00:58

+0

好的。我們假設我在這個上取代了JQuery路線而不是CFGRID路線。你將如何執行通行證? – 2012-04-29 03:53:16