我正在尝试添加按住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" . . .
如果您需要更多信息,请告诉我。
最佳答案
ActiveCol
和ActiveRow
仅在IE中有效
对于Firefox和其他浏览器,您需要使用GetActiveRow
和GetActiveCol
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/