DataGrid
のMXDataGridItemRenderer
が適用され、いずれかの列にitemEditor
が適用されています。エディタには、spark.components.TextArea
コントロールが含まれています。フレックス:MXDataGridItemRenderer内のspark.components.TextAreaに改行の問題があります
デフォルトでは、[enter]キーを押すと、データグリッドの任意のテキストエディタが閉じます。 これを覚えておいてください。私は何をしたいです:
- 防ぐエディタに閉じるから、[SHIFT + ENTER]キーが、改行を受け入れる(私はこれを行うことができ、以下のコードを参照してください)
- [ENTER]キー上のエディタを閉じますが、
:改行を受け入れていない。ここ<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" focusEnabled="true" > <fx:Script> <![CDATA[ protected function onTxtDataKeyDown(event:KeyboardEvent):void { if (event.keyCode == 13) { if (event.shiftKey) { //Prevent editor from closing on [SHIFT+ENTER] key but accept the linebreak event.stopImmediatePropagation(); // » works } else { //Close the editor on [ENTER] key but do not accept the linebreak event.preventDefault(); // » does not work } } } ]]> </fx:Script> <s:TextArea id="txtData" paddingTop="3" lineBreak="explicit" text="{dataGridListData.label}" verticalScrollPolicy="auto" horizontalScrollPolicy="off" keyDown="onTxtDataKeyDown(event)" />
はMXDataGridItemRenderer
で現在のコードである(これを達成できませんでした) 0
私もtextInput
イベントを試しましたが、そのトリックはしませんでした。 どうすればいいですか改行エディタが閉じているとき[enter]キー?
何か助けていただければ幸いです。ありがとう。
EDIT:私はmx.controls.TextAreaにspark.components.TextAreaを変更すると、予想通り、event.preventDefault()
との2番目の部分は動作しますが、その後、SHIFT + ENTERを最初の部分は、改行が動作しません受け付けます。
私が記事で述べたように、私はそれを前に試しました。 Spark.components.TextAreaでは動作しません。 Enterキーを押すと、textinputは何もトレースしません。 a、b、c..spaceなどの正規文字キーの場合にのみトレースします。 –
それもできません。テキストがテキストエリアで選択されている場合はどうなりますか? Enterキーを押すとすべて消去され、改行だけを取り除いても問題は解決しません。 –
私はAIR用に開発中です。はい、バグのようです。 –