2016-11-29 38 views
-1

我目前正在構建基於sapui5的應用程序。我想要實現以下場景:我的視圖包含sap.ui.table.Table的一個實例。我啓用了寫作的第一行。用戶拿起從像電子郵件和/或字MS工具的字符串,並將其移動到表Drag and Drop捕獲單元格值剛落入

第一小區並且將其在那裏。

我能趕上丟棄事件和開始處理。我無法訪問drag'n drop提供的新值。我嘗試各種事情:

引用的細胞通過調用

sap.ui.getCore().byId('__field0-col0-row0').getValue() 

我引用的小區作爲這樣

sap.ui.getCore().byId('__field0-col0-row0').$().find('input') 

我延遲的功能,其中我被讀出的值的webdoc元件第二個與

jQuery.sap.delayedCall(1000, oControlleroAR, "fInitializeModelForTab", [this]); 

剛剛通過這種方式調用函數後,我嘗試移動fo CUS從細胞,其中I中的下一個通過運行

sap.ui.getCore().byId('__field1-col1-row0').$().focus() 

下降I的值的調試器(鉻),該值出現在控制中,當焦點被移動觀察。 儘管如此,價值幾乎在任何情況下都是空的。

因爲我運行的想法這將有助於獲得新的一次,或者甚至一個暗示如何解決這個問題。

該代碼處理 「丟棄事件」:

sap.ui.getCore().byId("__table0").getRows()[0].getCells()[0].attachBrowserEvent(
       "drop",function(evt) { 
         jQuery.sap.delayedCall(1000, oControlleroAR, "fInitializeModelForTab", [this]); 
         sap.ui.getCore().byId('__field1-col1-row0').setValue("X"); 
         sap.ui.getCore().byId('__field1-col1-row0').$().focus(); 
       }); 
+1

請考慮更好的問題格式。這很難閱讀。 – matbtt

+0

嗨馬特,感謝讓我意識到可讀性問題。任何想法如何解決這個問題? – Belarophon01

+0

@ Belarophon01從哪裏拿字符串?字符串不是html中的對象。可能你的字符串在div,p,span等 – mkysoft

回答

1

我能解決這個問題。作爲輸入的偵聽器中的drop事件包含一個屬性originalEvent。在這個值可以找到。我的代碼現在看起來像這樣:

var strDragedValue = evt.originalEvent.dataTransfer.getData('text');