找回密码
 立即注册

QQ登录

只需一步,快速开始

tingche

银牌会员

17

主题

76

帖子

3877

积分

银牌会员

积分
3877

活字格认证

tingche
银牌会员   /  发表于:2013-6-3 10:42  /   查看:12081  /  回复:14
在spread里javascript如何获取隐藏列的值

14 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-6-3 18:28:00
沙发
回复 1楼tingche的帖子

请通过以下代码测试:

  1. <SCRIPT language=javascript>

  2.    function getHValue() {

  3.        var hval = FpSpread1.GetHiddenValue(0,"D");

  4.        alert("Value in Column D is " + hval);

  5.    }

  6. </SCRIPT>


复制代码
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-6-12 18:17:00
板凳
设置隐藏列的值又如何做呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-13 14:17:00
地板
回复 3楼tingche的帖子

tingche 你好,

设置隐藏单元格值方式如下:

  1. <SCRIPT language=javascript>

  2.    function ProfileSpread()

  3.    {

  4.           var spread = document.getElementById("FpSpread1");
  5.           var v = spread.GetHiddenValue(0, "A");
  6.           alert(v);
  7.           spread.SetHiddenValue(0, "A", "test2");
  8.           alert(spread.GetHiddenValue(0, "A")); //'test2'

  9.    }

  10. </SCRIPT>


复制代码
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-6-22 16:17:00
5#
SetHiddenValue(),报错,是为什么?报错提示:Microsoft JScript runtime error: Object doesn't support this property or method
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-24 09:09:00
6#
回复 5楼tingche的帖子

tingche 你好,

请问你的浏览信息是?我这边没能重现问题,能否把你的测试 Demo 发上来查看?
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-6-24 11:55:00
7#
ie8,


function TransfData(objt) {
                                            var spread1 = document.all("MainContentMiddleArea_CommonSpread_fsCommon");
                                            var obj = new Object();
                                            var columCount = spread1.GetColCount();
                                            var colCount = columCount / 5 - 1;
                                            var activCol = columCount + 4;
                                            var acColName;
                                            var acColNameAry;
                                            var acColNameIsNs;
                                            var acColeNscode;
                                            //alert("列数:"+activCol);
                                            if (activCol > 26) {
                                                var icount = Math.floor(activCol / 26);
                                                var code = activCol - icount * 26 + 65;
                                                //alert("末列索引号:"+code);
                                                var activColName = String.fromCharCode(code);
                                                var activColAry = String.fromCharCode(code - 1);
                                                var activColIsNs = String.fromCharCode(code - 2);
                                                var activColNscode = String.fromCharCode(code - 4);
                                                //alert("列名:"+activColName);
                                                acColName = String.fromCharCode(icount + 64) + activColName;
                                                //alert("最终列名:"+acColName);
                                                acColNameAry = String.fromCharCode(icount + 64) + activColAry;
                                                acColNameIsNs = String.fromCharCode(icount + 64) + activColIsNs;
                                                acColeNscode = String.fromCharCode(icount + 64) + activColNscode;
                                            }
                                            else {
                                                acColName = String.fromCharCode(activCol + 65);
                                                acColNameAry = String.fromCharCode(activCol + 64);
                                                acColNameIsNs = String.fromCharCode(activCol + 63);
                                                acColeNscode = String.fromCharCode(activCol + 61);
                                            }
//                                            var sfoCode = spread1.GetHiddenValue(spread1.GetActiveRow(), acColName);
//                                            var sfoAry = spread1.GetHiddenValue(spread1.GetActiveRow(), acColNameAry);
//                                            var sfoIsNs = spread1.GetHiddenValue(spread1.GetActiveRow(), acColNameIsNs);
//                                            var sfoNscode = spread1.GetHiddenValue(spread1.GetActiveRow(), acColeNscode);
                                            obj.code = acColName;
                                            var n = 0;
                                            var starRowIndex = 0;
                                            var endRowIndex = 0;
                                            for (var i = 0; i < spread1.GetRowCount(); i++) {
                                                if ((spread1.GetValue(i, 0) == spread1.GetValue(spread1.GetActiveRow(), 0)) &amp;&amp; (spread1.GetValue(i, 1) == spread1.GetValue(spread1.GetActiveRow(), 1)) &amp;&amp; (spread1.GetValue(i, 2) == spread1.GetValue(spread1.GetActiveRow(), 2))) {
                                                    n = n + 1;
                                                    endRowIndex = i;
                                                }
                                            }
                                            starRowIndex = endRowIndex - n + 1;
                                            var NsCodeItem = new Array(n);
                                            var StrNsCod = "";
                                            for (var i = 0; i < n; i++) {
//                                                NsCodeItem = new Array();
//                                                NsCodeItem[0] = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColName);
//                                                NsCodeItem[1] = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColNameAry);
//                                                NsCodeItem[2] = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColNameIsNs);
//                                                NsCodeItem[3] = spread1.GetValue(spread1.GetActiveRow() + i, spread1.GetActiveCol() - 1);
//                                                NsCodeItem[4] = "1";
                                                var sfoCode = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColName);
                                                if (sfoCode==null) {
                                                    sfoCode = "";
                                                }
                                                var sfoAry = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColNameAry);
                                                if (sfoAry==null) {
                                                    sfoAry = "";
                                                }
                                                var sfoIsNs = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColNameIsNs);
                                                if (sfoIsNs==null) {
                                                    sfoIsNs = "";
                                                }
                                                var sfoNscode = "";
                                                var yonNscode = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColeNscode);
                                                if (yonNscode == null) {
                                                    sfoNscode = spread1.GetValue(spread1.GetActiveRow() + i, spread1.GetActiveCol() - 1);
                                                    if (sfoNscode==null) {
                                                        sfoNscode = "";
                                                    }
                                                }
                                                if (yonNscode != null) {
                                                   var sfoNscodeN = spread1.GetValue(spread1.GetActiveRow() + i, spread1.GetActiveCol() - 1);
                                                   if (sfoNscodeN.split("(").length > 0) {
                                                       sfoNscode = spread1.GetHiddenValue(spread1.GetActiveRow() + i, acColeNscode);
                                                   }
                                                   if (sfoNscodeN.split("(").length == 0) {
                                                       sfoNscode = spread1.GetValue(spread1.GetActiveRow() + i, spread1.GetActiveCol() - 1);
                                                   }
                                                }
                                                if (i < n - 1) {
                                                    StrNsCod += sfoCode + "|" + sfoAry + "|" + sfoIsNs + "|" + sfoNscode + "|" + "VFI" + "|";
                                                }
                                                if (i == n - 1) {
                                                    StrNsCod += sfoCode + "|" + sfoAry + "|" + sfoIsNs + "|" + sfoNscode + "|" + "VFI";
                                                }
                                            }
                                            var win = window.showModalDialog('OESF30S110.aspx?NscodeItems=' + StrNsCod, NsCodeItem, 'dialogWidth:1020px; dialogHeight:750px;status:yes;help:yes;resizable=yes;', true);
                                            if (win != null) {
                                                var ValueAry = win.split("|");
                                                var leng = ValueAry.length / 5;
                                                var NewAryItem = new Array(4);
                                                for (var i = 0; i < leng; i++) {
                                                    NewAryItem = new Array();
                                                    for (var j = 0; j < 5; j++) {
                                                        NewAryItem[j] = ValueAry[j + i * 5];
                                                        if (NewAryItem[4] == "1") {
                                                            spread1.SetValue(spread1.GetActiveRow(), spread1.GetActiveCol() - 1, NewAryItem[3]);
//                                                            alert(NewAryItem[1]);
//                                                            alert(NewAryItem[2]);
                                                            //spread1.SetHiddenValue(spread1.GetActiveRow(), acColNameAry, NewAryItem[1]);
                                                            var rowindex = spread1.GetActiveRow();
                                                            var colName = acColeNscode;
                                                            var valueName = NewAryItem[2];
                                                            //spread1.SetHiddenValue(rowindex, colName, valueName);SetHiddenCellValue
                                                            //spread1.SetHiddenCellValue(rowindex, colName, valueName);
                                                            //spread1.SetHiddenValue(0, "K", "test2");

                                                            //alert(spread1.GetHiddenValue(0, "K")); //'test2'


                                                        }
                                                        for (var rindex = starRowIndex; rindex <= endRowIndex; rindex++) {
                                                            if (NewAryItem[0] == spread1.GetHiddenValue(rindex, acColName) &amp;&amp; NewAryItem[1] == spread1.GetHiddenValue(rindex, acColNameAry)) {
                                                                spread1.SetValue(rindex, spread1.GetActiveCol() - 1, NewAryItem[3]);
                                                                //spread1.SetHiddenValue(spread1.GetActiveRow() + i, acColNameAry, NewAryItem[1]);
                                                                //spread1.SetHiddenValue(spread1.GetActiveRow() + i, acColeNscode, NewAryItem[2]);
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            return false;
                                        }
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-6-24 11:55:00
8#
//spread1.SetHiddenValue(spread1.GetActiveRow(), acColNameAry, NewAryItem[1]);
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-24 18:16:00
9#
回复 8楼tingche的帖子

不好意思,我在 IE8 下测试,通过以下 Demo 没有重现该问题,能否请你发个可以运行的 Demo 到论坛调试。

由于无法直接运行你的 Demo ,做了一些更改:

9313.zip (16.76 KB, 下载次数: 1123)
回复 使用道具 举报
tingche
银牌会员   /  发表于:2013-6-25 10:24:00
10#
iceman,您好!
         我用你的demo试了,我现在用的spread是5.0版本的,请问是不是版本问题?我这边是实现不了的!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部