2013-02-09 71 views
3

我有這個Kendo UI網格。它讀取和填充網格。但是我面臨的問題是無論是更新還是刪除按鈕都會發送POST請求。Kendo UI Grids銷燬和更新命令不會觸發事件onclick

保存按鈕什麼都不做。刪除按鈕給我一個確認警報框,然後它將其刪除在網格中,但沒有請求。

<kendo:grid name="grid" pageable="true" groupable="false" editable="true" sortable="true" filterable="true" height="300" > 
    <kendo:grid-columns> 
     <kendo:grid-column title="Account" field="name"/> 
     <kendo:grid-column width="250"> 
      <kendo:grid-column-command> 
       <kendo:grid-column-commandItem name="showAccount" text="Visa konto" click="showAccount"/> 
       <kendo:grid-column-commandItem name="ShowAccountSummary" text="Sammanställning" click="showAccountSummary"/> 
      </kendo:grid-column-command> 
     </kendo:grid-column> 
     <kendo:grid-column title="&nbsp;" > 
      <kendo:grid-column-command> 
       <kendo:grid-column-commandItem name="save" /> 
       <kendo:grid-column-commandItem name="destroy" /> 
      </kendo:grid-column-command> 
     </kendo:grid-column> 
    </kendo:grid-columns> 
    <kendo:dataSource pageSize="10" batch="false"> 
     <kendo:dataSource-schema> 
      <kendo:dataSource-schema-model id="id"> 
       <kendo:dataSource-schema-model-fields> 
        <kendo:dataSource-schema-model-field name="id" type="number"/> 
        <kendo:dataSource-schema-model-field name="user_id" type="number"/> 
        <kendo:dataSource-schema-model-field name="name" type="string"/> 
       </kendo:dataSource-schema-model-fields> 
      </kendo:dataSource-schema-model> 
     </kendo:dataSource-schema> 
     <kendo:dataSource-transport> 
      <kendo:dataSource-transport-read url="${transportReadUrl}" dataType="json" type="GET" contentType="application/json" /> 
      <kendo:dataSource-transport-update url="${updateAccountUrl}" dataType="json" type="POST" contentType="application/json" /> 
      <kendo:dataSource-transport-destroy url="${destroyUrl}" dataType="json" type="POST" contentType="application/json" /> 
     </kendo:dataSource-transport> 
    </kendo:dataSource> 
</kendo:grid> 

回答

4

我解決了這個問題。數據源需要具有屬性 「自動同步= '真'」

從劍術手冊

AUTOSYNC布爾(默認值:假)

啓用(真)或禁用(假)每個變化 同步()方法自動調用由

0

所以我假設你的CRUD URL不被擊中。這兩個操作背後有一個方法簽名,與Kendo想要的不符。這就是我可以用你在這裏發佈的內容做的所有事情。希望能幫助到你。當你使用它的時候,不要忘記在更新時將數據返回到網格,否則你會得到有趣的行爲。

+0

transportReadUrl起作用。銷燬按鈕會觸發確認對話框,但不會發布任何數據。我在螢火蟲中看到了。今晚我們要再試一次,看看我能否找出問題所在。 – heldt 2013-02-12 10:13:56

1

類似的情況,但我禁用自動同步我的網格數據源的頁面加載後閱讀。實施javascript以在更改時同步或在autosync = false時刪除。

function gridChange(e) { 
    if (e.action == "itemchange") { 
     e.sender.sync(); 
    }; 
    if (e.action == "remove") { 
     e.sender.sync(); 
    } 
} 
+0

啊,很高興知道,謝謝! – heldt 2013-02-18 20:43:09