2011-01-25 105 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參數初始化包含網格。