2013-03-25 56 views
0

我正在做我的項目使用struts2休眠和我使用jqgrid數據顯示。現在我想爲editGrid窗口上的id字段設置只讀屬性。但不適用於添加窗口。我的示例代碼如何只爲編輯網格窗口列設置readonly屬性?

<sjg:grid id="gridtable" 
    caption="Customer List" 
    dataType="json" 
    href="%{remoteurl}" 
    pager="true" 
    gridModel="customerList" 
    rowNum="10" 
    autowidth="true" 
    editurl="%{editurl}" 
    editinline="false" 
    navigator="true" 
    navigatorAdd="true" 
    navigatorAddOptions=" 
     { 
      viewPagerButtons:false, 
      recreateForm:true, 
      checkOnUpdate:true, 
      closeAfterAdd:true 
     }" 
    navigatorDelete="true" 
    navigatorEdit="true" 
    navigatorRefresh="true" 
    navigatorSearch="true" 
    navigatorEditOptions=" 
     { 
      viewPagerButtons:false, 
      recreateForm:true, 
      checkOnUpdate:true, 
      closeAfterEdit:true 
     }" 
    navigatorDeleteOptions="{ checkOnUpdate:true}" 
    navigatorViewOptions=" 
     { 
      viewPagerButtons:false, 
      recreateForm: true, 
      checkOnUpdate: true 
     }" 
    navigatorSearchOptions="{sopt:['eq','ne','lt','gt','in','ni','cn','nc']}" 
    navigatorView="true" 
    rownumbers="true" 
    rowList="10,20,30" 
    viewrecords="true" 
> 
<sjg:gridColumn 
    name="id" 
    align="left" 
    key="true" 
    index="id" 
    title="Customer id" 
    sortable="false" 
    editable="true" 
    editrules="{ 
     number: true, 
     required: true 
    }" 
    edittype="text" /> 
<sjg:gridColumn 
    name="custName" 
    align="left" 
    index="custName" 
    title="Customer Name" 
    sortable="false" 
    editable="true" 
    edittype="text" /> 
    ...... 
</sjg:grid> 

我可以調用navigatorEditOptionbeforeShowFormafterShowForm功能?

回答

0

我不是struts2 defeloper,所以我建議可能不正確。不過你可以嘗試直接包括navigatorEditOption裏面內嵌的JavaScript代碼:

navigatorViewOptions=" 
       { 
        viewPagerButtons:false, 
        recreateForm: true, 
        checkOnUpdate: true, 
        beforeShowForm: function ($form) { 
         alert("inside of beforeShowForm function"); 
        } 
       }" 

它看起來接近從文檔the page的代碼。我希望它會起作用。

另外,您可以定義一些全球功能像

<script type="text/javascript"> 
    var myBeforeShowForm = function ($form) { 
      alert("inside of beforeShowForm function"); 
     }; 
</script> 

,並使用全球myBeforeShowForm內的navigatorEditOption

navigatorViewOptions=" 
       { 
        viewPagerButtons:false, 
        recreateForm: true, 
        checkOnUpdate: true, 
        beforeShowForm: myBeforeShowForm 
       }" 

(與datePick功能上the page代碼比較)

+0

hello Oleg。感謝您的回答。我可以知道什麼是形式嗎?是網格ID(網格表)還是HTML表單ID(

)? – 2013-03-26 07:23:00

+0

@SugunaSs:不客氣!對不起,但我不明白你的問題:「我可以知道什麼是形式嗎?」你是什​​麼意思?如果你的意思是'beforeShowForm'的'$ form'參數,那麼它就是表單的jQuery包裝:像'$(「#」+ formId)'。 – Oleg 2013-03-26 07:40:39

+0

ya。那是對的。非常感謝你...... – 2013-03-26 09:58:08

相關問題