2013-06-26 34 views
0

使用jqGrid 4.5.2 & jQuery 1.9.1。查詢SQL表以返回數據以在jqGrid中顯示結果。我沒有對數據進行任何編輯。jqGrid - 在對話框,彈出窗口或新頁面中顯示網格

的的jqGrid使用custom formatter顯示從查詢的結果。在自定義格式化程序中,根據返回的數據(列隱藏在jqGrid中),在名爲Action的列中顯示了以下三項內容之一:(1)下拉框,(2)提交按鈕或(3)信息信息。此外,rowattr用於在該行中格式化(字體,顏色,大小,樣式)信息(也基於返回的數據)。當進行下拉選擇時,該行將隨日期/時間的下拉值&而更新。同樣,當點擊提交按鈕時,它也會用日期/時間更新表格。

setInterval每60秒以上運行。這個網格按照它應有的功能運行。

除了上面如何工作網格,我還需要有條件地建立&推出另一個網格。我會採取與上面使用的相同的網格設置,並且jqGrid會顯示在對話框,彈出窗口或新頁面中。我會查詢另一個表,但返回與我目前相同的字段。該網格還將利用custom formatter,rowattr和其他代碼(停止&重新啓動間隔,捕獲下拉框更改&提交按鈕點擊),如在工作jqGrid中所做的那樣。主要區別在於我會先進行AJAX調用以獲取行計數,但只有在對話/彈出/新頁面中創建網格(如果有任何數據)。此網格的下拉&提交按鈕功能與其他網格(使用日期/時間和/或下拉選項更新)相同。

我一直在尋找建立當前具有網格功能上面就可以了頁面上的DIV中的對話框/彈出電網。

<div id="popDailog"> 
    <table id="popGrid" border="0" cellpadding="0" cellspacing="0" style="width:100%"> 
    </table> 
    <div id="popPager"></div> 
</div> 

現有的,運作的電網是上面所示的HTML立即DIV以上的身體:

<table id="myGrid" border="0" cellpadding="0" cellspacing="0" style="width: 100%"> 
</table> 
<div id="pager1"></div> 

我的問題:

能否在jqGrid的建在一個模式對話框?如果不是,您如何在彈出窗口或新頁面中打開它?大多數問題&答案我看到編輯數據的處理,但我沒有這樣做。

能否在jqGrid的有條件建(控制它是否有選項)?如果可能的話,我想避免必須進行兩次旅行。

我將不勝感激任何指導或爲,如果&如何最好地做到這一點。

謝謝!

回答

1

jQuery代碼沒有在模態對話框運行,所以調用者可以運行,用開:

function initGrid() { 
    jQuery("#popGrid").jqGrid({ 
    url:'...', 
    colNames:[...], 
    colModel:[...], 
    rowNum:20, 
    pager: '#popPager', 
    ... 
} 

var dialog = $('#popDailog'); 
dialog.dialog({ 
    bgiframe: true, 
    modal: true, 
    width: 700, 
    buttons: {...}, 
    (...) 
    open: function(event, ui) { initGrid(); } 
}); 
相關問題