2015-03-08 109 views
0

後添加自定義的確認列或單元格按鈕,我有我綁定到一個網格,看起來是這樣的列表中的對象:劍道UI - 編輯

{ id: 123, name: 'abc', proposed_value: 99.95, status: 'submitted' } 

我想在網格中顯示這一點,但添加當用戶單擊該列中的單元格時,該列將顯示帶有「批准」和「拒絕」項目的下拉列表框。當他們從該單元格列表框中進行選擇時,列表框應該消失,並且單元格中應顯示「接受」或「拒絕」字樣以及其左側的複選框,以便用戶可以通過選中該框來確認其操作。只有完成後,我纔會提出更新回服務器的請求。我有困難的時候用這個..

我所做的改變時,模型稍微補充一點,我可以綁定到一個新的列/屬性:

{ id: 123, name: abc, proposed_value: 99.95, status: submitted, new_status: '' } 

網格的列定義如下,與自定義編輯器被用於 'NEW_STATUS' 欄:

columns: [ 
    { field: 'new_status', title: "Action", editor: approvalDropDownEditor }, 
    { field: "name", title: "Name" }, 
    { field: "proposed_vale", title: "Proposed Value" }, 
    { field: "status", title: "Workflow Status" }, 
], 

編輯功能:

function approvalDropDownEditor(container, options) { 
      $('<input required data-text-field="description" data-value-field="code" data-bind="value:' + options.field + '"/>') 
       .appendTo(container) 
       .kendoDropDownList({ 
        autoBind: false, 
        dataSource: model.allowed_actions //Approve, Reject, Cancel 
        }); 
     } 

電網數據源:

var grid_ds = new kendo.data.DataSource({ 
     schema: { 
      model: { 
       id: 'id', 
       fields: { 
        new_status: { type: 'string', editable: true }, 
        name: { type: 'string', editable: false }, 
        proposed_vale: { type: 'number', editable: false }, 
        status: { type: 'string', editable: false }, 
       } 
      } 
     }, 
     transport: { 
      read: { 
       url: "get_items_in_workflow", 
       dataType: "json", 
      }, 
      update: { 
       url: "update_workflow", 
       dataType: "json" 
      } 
     } 
    });  

所以我的問題是:

  1. 如何獲得一個複選框或按鈕來顯示給用戶選擇的值後的左邊。
  2. 如何僅從相關行(構造按鈕所在的行)更新回該服務器的服務器?
  3. 這是正確的或推薦的方法

感謝很多

回答

0

聽起來過於複雜。我將使用相同的模板進行顯示和編輯,顯示值和編輯按鈕。

點擊按鈕會打開一個窗口,讓你改變數值並使用ok和cancel按鈕確認或拒絕編輯。

好的,您可以調用dataItem.set,數據源將負責與服務器同步。不需要單獨的列。