1

セルの範囲を選択するためにシフトクリックを押したままにする機能を追加しようとしています(デフォルトでwinformsでスプレッドが行うこととまったく同じです)。
私がやろうとしているのは、スプレッド コンポーネントがフォーカスされているときにシフト キーが最初に押されたときを認識し、非表示の入力にセル座標を保存することです。

何らかの理由で、ActiveCol または ActiveRow から値を取得できません。彼らは未定義を返しています。アクティブ セルをコードで事前設定しようとしましたが、まだ未定義が返されます。

「ss」の値も確認すると、要素が返されます。

        function shiftCheckDown(event)
        {
            var ss = document.getElementById('<%=FpSpread1.ClientID %>');

            //ss.SetActiveCell(0,3);

            if (ss != null) {

                var col = ss.ActiveCol;
                var row = ss.ActiveRow;
  //var col = FpSpread1.ActiveCol;
  //var row = FpSpread1.ActiveRow;


                if (event.keyCode == 16) {

                        alert(row);

                        document.getElementById('RowCoord').value = row;
                        document.getElementById('ColCoord').value = col;
                }           
            }
        } 

関数を呼び出すために onkeydown を使用しています。

<FarPoint:FpSpread onkeydown="shiftCheckDown(event)" ID="FpSpread1" runat="server" ActiveSheetViewIndex="0" . . .  

さらに情報が必要な場合はお知らせください。

4

2 に答える 2

1

ActiveColActiveRowIEでのみ動作します

Firefox およびその他のブラウザーの場合、使用する必要がありますGetActiveRowGetActiveCol

            var col = ss.ActiveCol;
            var row = ss.ActiveRow;

            if (col == undefined) {
                var col = ss.GetActiveCol;
                var row = ss.GetActiveRow;
            }
于 2012-09-28T17:24:00.650 に答える
-1

実際には次のようになります。

col = ss.GetActiveCol();
row = ss.GetActiveRow();
于 2016-04-05T08:09:29.113 に答える