2016-11-29 4 views
-1

私は現在sapui5ベースのアプリケーションを構築中です。私は次のシナリオを実装したい:私のビューにはsap.ui.table.Tableのインスタンスが含まれています。私は書き込みのために最初の行を有効にしました。ユーザーは、電子メールおよび/または単語のようなMSツールから文字列をピックアップし、テーブルドラッグアンドドロップキャッチセルの値がちょうど下がった

最初のセルに移動し、そこにそれを削除します。

私はドロップイベントを捕まえて処理を開始できます。私はdrag'nドロップによって提供される新しい値にアクセスすることができません。私はいろいろなことを試してみました:

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

を呼び出すことによって、セルを参照さ私は私がして値を読んでいる機能を、遅れてこの

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

ようwebdoc要素としてセルを参照しました1秒と

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

このように関数を呼び出すと、 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

こんにちはMatt、私に可読性の問題を知らせてくれてありがとう。任意のアイデアをどのようにこれを解決するには? – Belarophon01

+0

@ Belarophon01どこから弦をピックアップしますか? StringはHTMLのオブジェクトではありません。 div、p、spanなどの文字列を入力してください。 – mkysoft

答えて

1

私はこの問題を解決することができた:

は、このコードは、 "ドロップイベント" 処理します。リスナーに入力として渡すドロップイベントには、originalEventという属性が含まれています。これで値が見つかります。私のコードは次のようになります:

var strDragedValue = evt.originalEvent.dataTransfer.getData('text'); 
関連する問題