1

我正在尝试添加一个按住 shift-click 功能来选择一系列单元格(默认情况下,这正是 winforms 中的传播功能)。
我想要做的是识别当传播组件在焦点上时第一次按下 shift 键并将单元格坐标保存在隐藏输入中。

出于某种原因,我无法从 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

ActiveCol并且ActiveRow仅适用于 IE

对于 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 回答