找回密码
 立即注册

QQ登录

只需一步,快速开始

婧友

论坛元老

24

主题

74

帖子

1万

积分

论坛元老

积分
10068

活字格认证

婧友
论坛元老   /  发表于:2012-6-18 11:08  /   查看:6891  /  回复:5
我把spread封装到用户控件里面,刚开始打印的时候,可以打印出来数据,但是当我在用户控件上面加了一段JS之后,打印出来的全是空白,请问是什么原因?
下面是JS代码

<script language="javascript" type="text/javascript" id="Card_Script2">
                function Card_ActiveCellChanged(event){
             var card = document.getElementById("<%=Card.ClientID %>");
         var cell = card.GetCellByRowCol(card.ActiveRow,card.ActiveCol);
         //var hidden = document.getElementById("HiddenField2");
         if(cell.title="aa") {
            <%=Page.GetPostBackEventReference(btnEnter)%>
         }
     }
</script>
<script type="text/javascript">

    window.onload = function () {
        var card = document.getElementById("<%=Card.ClientID %>");
        card.onkeydown = Move;
    }

    function Move() {
        if (event.keyCode == 13) {
            var card = document.getElementById("<%=Card.ClientID %>");
            var col = card.ActiveCol;
            var row = card.ActiveRow;
            var colCount = card.GetColCount();
            var cell = card.Cells(row, col);
            for (var i = 1; i <= colCount; i++) {
                var cell2 = card.GetCellByRowCol(row, col + i);
                if (cell2.CellType2 != "LabelCellType") {
                    if (cell.colSpan > 1) {
                        var cell3 = card.GetCellByRowCol(row, col + i + cell.colSpan - 1);
                        if (cell3 != null) {
                            if (cell3.CellType2 == "LabelCellType") {
                                card.SetActiveCell(row, col + i + cell.colSpan);
                            }
                            else {
                                card.SetActiveCell(row, col + i + cell.colSpan - 1);
                            }
                            if (col + 1 == colCount + cell.colSpan) {
                                card.SetActiveCell(row + 1, 1);
                            }

                        }
                        else {
                            card.SetActiveCell(row + 1, 1);
                        }
                        break;
                    }
                    else {
                        if (col + i < colCount) {
                            card.SetActiveCell(row, col + i);
                        }
                        break;
                    }

                }

            }

        }
    }

</script>


spread 代码


<table style="margin-left: 10px;">
        <tr>
            <td>
                <farpoint:fpspread id="Card" runat="server" bordercolor="Black" borderstyle="Solid"
                    borderwidth="1px" onprintsheet="Card_PrintSheet" clientautosize="true">
                <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
                    ButtonShadowColor="ControlDark">
                    <Background BackgroundImageUrl="SPREADCLIENTPATH:/img/cbbg.gif"></Background>
                </CommandBar>
                <Sheets>
                    <FarPoint:SheetView SheetName="Sheet1">
                    </FarPoint:SheetView>
                </Sheets>
                <ClientEvents ActiveCellChanged="Card_ActiveCellChanged" />
            </farpoint:fpspread>
            </td>
        </tr>
    </table>
    <asp:button id="btnEnter" runat="server" text="Button" style="display: none;" />
    <asp:hiddenfield id="HiddenField1" runat="server" />
    <asp:hiddenfield id="HiddenField2" runat="server" />
    <asp:hiddenfield id="HfAllValue" runat="server" />

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-18 11:31:00
沙发
回复 1楼婧友的帖子

不好意思,根据楼主提供的代码片段无法重现问题,请楼主发 Demo 到论坛调试。
回复 使用道具 举报
婧友
论坛元老   /  发表于:2012-6-18 11:46:00
板凳
版主,可以实现啊,把上面的代码放到用户控件里面,然后页面调用用户控件,使用一个按钮调用用户控件里面的spread打印,就能看到打印出来的结果是空白
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-18 15:27:00
地板
回复 3楼婧友的帖子

问题已经重现,有结果尽快通知楼主。
回复 使用道具 举报
婧友
论坛元老   /  发表于:2012-6-20 09:17:00
5#
这个问题能解决吗?都等了一天了
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-25 14:05:00
6#
回复 5楼婧友的帖子

你好,不好意思久等了,这个问题我们仍然在跟踪中,有结果我会尽快通知楼主。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部