我正在尝试添加按住Shift键单击的功能以选择一系列单元格(默认情况下,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" . . .


如果您需要更多信息,请告诉我。

最佳答案

ActiveColActiveRow仅在IE中有效

对于Firefox和其他浏览器,您需要使用GetActiveRowGetActiveCol

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

            if (col == undefined) {
                var col = ss.GetActiveCol;
                var row = ss.GetActiveRow;
            }

关于javascript - Spread.NET和JavaScript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12643910/

10-10 21:50