2013-03-19 46 views
1

我希望得到被推到了這個偉大的產品的正確方向。DHTMLX ColdFusion的查詢XML或JSON

我想要做的是運行一個查詢或存儲過程,得到結果數據集,然後格式化都在dhtmlxGrid使用效果。我不需要將數據寫回數據庫我只需要顯示它們。

我已經得到了演示基本的文本和xml文件

工作(http://docs.dhtmlx.com/doku.php?id=tuto ...填充)

但是,有沒有辦法把查詢結果,並直接轉給dhtmlxGrid直接而不必將數據寫入文件然後讀取它?

我已經試過這樣的事情:

var mygrid; 
function doInitGrid(){ 

mygrid = new dhtmlXGridObject('mygrid_container'); 
mygrid.setImagePath("codebase/imgs/"); 
mygrid.setHeader("Model,Qty,Price"); 
mygrid.setInitWidths("*,150,150"); 
mygrid.setColAlign("left,right,right"); 
mygrid.setSkin("light"); 
mygrid.init(); 
mygrid.parse(<cfoutput>#xmlString#</cfoutput>); 

的xmlString是一個有效的XML對象,但網格不格式化這個樣子。來源如下:

var mygrid; 
function doInitGrid(){ 

mygrid = new dhtmlXGridObject('mygrid_container'); 
mygrid.setImagePath("codebase/imgs/"); 
mygrid.setHeader("Model,Qty,Price"); 
mygrid.setInitWidths("*,150,150"); 
mygrid.setColAlign("left,right,right"); 
mygrid.setSkin("light"); 
mygrid.init(); 
mygrid.parse(<?xml version="1.0" encoding="UTF-8"?> 
<users columns="3" rows="3"><user fname="Nathan" id="292B71DC-9DDD-BA4F- A95BF84F85CAF661" lname="Dintenfass"/><user fname="Ben" id="292B71DD-0893-326D- 79269A1DCFD46D37" lname="Archibald"/><user fname="Raymond" id="292B71DE-E781-43FE- A4DCD955A1A5C044" lname="Jones"/></users>); 

} 

在此先感謝!

回答

2

除了Abbottmw的jsStringFormat建議,注意到他裹在被需要的,但是從你的代碼中缺少引號ColdFusion的輸出。

如果XML是不是爲你工作了,你很可能使用與ColdFusion的SerializeJSON創建JSON加載或使用功能的returnformat="JSON"JSON規範中DHTMLX或負載從array使用toScript從ColdFusion的使用CFC。

但是,有沒有辦法把查詢結果,並通過他們直接 到dhtmlxGrid直接,而無需將數據寫入到 文件,然後讀它?

當然。 從JSON加載指令:

要從遠程文件(一個靜態的JSON文件或任何種類 腳本,將生成JSON輸出的)在以下代碼串應當使用加載數據

這意味着一些簡單一個.CFM或.cfc(推薦)頁動態生成的JSON輸出。例如,如果您使用名爲dhtmlxJSON的函數使用CFC,則可以在網格中將其稱爲此類。 grid.load("myJsonGenerator.cfc?method=dhtmlxJSON","json");

+0

感謝您的所有提示。今天早上將嘗試這些建議並回報。我非常感謝大家花時間考慮回答問題。 – weggie 2013-03-20 12:17:26

+0

謝謝,看起來我只是想寫一些東西吐出HTML – weggie 2013-03-21 16:13:22

+0

@weggie'吐出HTML'你的意思是像'toscript'在包含網格的頁面,或者你的意思是一個平坦的HTML表?還有其他網格,如果這個給你適合。 – Travis 2013-03-21 16:54:32

2

你可以試試你的包裹#的xmlString#在JSStringFormat()

mygrid.parse('<cfoutput>#JSStringFormat(xmlString)#</cfoutput>'); 

我會看着XML Syntax documentation上的XML應該如何構建。

你需要編寫自定義函數採取查詢,並將其轉換到XML語法的DHTMLX期待。

+0

好吧,剛試過這個,它沒有奏效。我將嘗試使用Docs中列出的示例來查看我是否可以手動實現它,並着手編寫將數據轉換爲所需格式的內容。我也會研究使用JSON。這是一次學習治療。試圖一次處理一件事,然後放棄其他事情。謝謝!將回報我的調查結果。 – weggie 2013-03-20 13:30:43