2012-06-04 55 views
0

我正在使用jqGrid顯示數據庫表並使用DataSet從ASP.NET代碼加載JQGrid後面的文件。列也是在運行時從代碼隱藏文件生成的。我有兩列(PrimaryKey列[它不是自動增量字段],文本字段列),我想使用添加表單向列提供添加功能,但僅向一列提供編輯功能,例如使用內聯編輯的文本字段列。jqgrid功能允許使用添加表單添加兩列,但允許通過內聯編輯選項僅編輯一列

這與here報告的問題類似,答案與我想要的非常接近。我發現其他解決方案,但大多數解決方案使用JSON格式的數據並從Javascript加載。

我很難搞清楚上面的功能,因爲數據已經從數據庫加載,我只是想修改editable屬性。默認情況下,我的主字段不可編輯,文本字段可編輯。

我真的很感激任何幫助。

回答

1

The answer您參考的內容面向內聯編輯模式。在使用表單編輯的情況下,我可以推薦您按照this。您可以將兩者合併爲在beforeShowForm之內強制在「添加」表單中可編輯兩列,並且在編輯表單或內聯編輯的情況下僅使一列可編輯。

修訂:從你送我,我可以首先是找出你用錯了標籤jqgrid你的問題,而不是jqgrid-asp.net電子郵件。因此,您使用商業jqSuite產品,而不是免費的開源JavaScript jQuery插件jqGrid。我回答了你如何解決jqGrid中的問題,但是你的問題是如何在提供jqSuite的.NET類中使用它。

如果您可以在the answer找到解決方案。您應該修復代碼中的鍵入錯誤並使用不同的屬性JQGrid1.ClientSideEvents.AfterAddDialogShownJQGrid1.ClientSideEvents.AfterEditDialogShown

+0

謝謝你的回覆,但我面臨的問題是我沒有這個部分
'jQuery(「#list」)。jqGrid({data:mydata,colModel:[] // ...}) '
由於數據是從代碼後面的文件填充到jqgrid中的,當我嘗試僅用例如beforeShowForm寫入最後一部分時,網格不顯示任何內容。
我第一次使用jqgrid,並不知道正確的方法來執行此功能。我已經看到了幾個你的答案,他們真的很重要,但我沒有在這裏應用這些答案。你能否建議一些代碼來解決這個問題? – Anushree

+0

@ user967539:我不確定我是否理解你的正確。如果最初在所有列中設置了'editable:true',或者如果您只是使用'cmTemplate:{editable:true}'(請參閱[here](http://stackoverflow.com/a/6047856/315935)),那麼您應該沒有問題。您需要*隱藏* beforeShowForm中的一些可編輯列,以使其不可編輯。 – Oleg

+0

@ user967539:請閱讀我答案的** UPDATED **部分。 – Oleg

相關問題