2013-07-25 20 views
0

我有一個網格,其編輯設置爲彈出。彈出一個網格的編輯表單:我怎麼知道哪一個是當前選中的行

在我的網格模型中,我定義了一個字段級別驗證,如下所示。我怎麼知道哪一個是當前選擇的行,所以我可以避免將我的字段值與同一行的值進行比較?

model: { 
     id: "id", 
     fields: { 
      id: { 
       nullable: false, 
       editable: false, 
       hidden : true 
      }, 
      "timeStamp": { 
       type: "date", 
       validation: { // validation rules 
        required: true, // the field is required 
        unique: function (input) { 
          if (!input.is("[name=timeStamp]")) { 
           return true; 
          } 
         input.attr("data-unique-msg", '${msg.UNIQUE_TIME}' ); 
          var data = grid.dataSource.data(); 
          //HOW CAN I KNOW WHICH ROW Is currently selected? 

回答

1

也許有點棘手的解決方案,但它應該工作... DataSource中的每個記錄都有由Kendo UI分配的唯一ID。在窗口中使用這些uid編輯popup,Kendo UI可以輕鬆識別正在編輯的記錄,而無需保存狀態。你應該這樣做。

您的功能只需要做:

var uid = $(input).closest(".k-popup-edit-form").data("uid"); 
var item = grid.dataSource.getByUid(uid); 

現在,item包含正在編輯的記錄的所有字段。

1

我也在Kendo網格彈出窗口上使用自定義驗證器。我使用下面的代碼來獲得該模型:我更喜歡這種機制,因爲我沒有引用網格對象,使得代碼更容易在頁面間移動。

+1

兩個答案都有效 - 由於可移植性,我更喜歡你的。 – OlafW

相關問題