FineUI 官方论坛

标题: 【已解决】用Lodop打印GriD时的问题 [打印本页]

作者: sxycgxj    时间: 2015-8-11 09:24
标题: 【已解决】用Lodop打印GriD时的问题
用Lodop打印时,一般都是通过获取对象的innerHTML来进行打印,可是FINEUI中的GRID没有innerHTML,应该怎么办

    function CreateOneFormPage() {
        LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
        LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_表单一");
        LODOP.SET_PRINT_STYLE("FontSize", 18);
        LODOP.SET_PRINT_STYLE("Bold", 1);
        LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印页面部分内容");
        //var strFormHtml = document.getElementById("panelCenterRegion").innerHTML;
        var strFormHtml = $("#Grid1").innerHTML;

        LODOP.ADD_PRINT_HTM(88, 200, 350, 600, strFormHtml);
    };


作者: zy32002    时间: 2015-8-11 10:41
怎么可能没有,自己看用浏览器F12看看就知道了
作者: sxycgxj    时间: 2015-8-11 10:50
我跟踪了,真的没有

作者: sanshi    时间: 2015-8-11 15:26
var strFormHtml = $("#Grid1").innerHTML;

这个代码是 jQuery 代码,本身就有问题:$() 返回的是一个 jQuery 对象,没有 innerHTML ,参考代码:
  1. $("#Grid1")[0].innerHTML
复制代码

作者: sxycgxj    时间: 2015-8-13 17:32
sanshi 发表于 2015-8-11 15:26
var strFormHtml = $("#Grid1").innerHTML;

这个代码是 jQuery 代码,本身就有问题:$() 返回的是一个 jQu ...

问题依然存在,错误提示:$("#Grid1")[0].innerHTML        无法获取未定义或 null 引用的属性“innerHTML”
我的前台代码是这样的:
作者: sxycgxj    时间: 2015-8-13 17:32
        <fageManager ID="ageManager1" runat="server" AutoSizePanelID="anel1" />
        <fanel ID="anel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
            <Items>
                <fanel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true" EnableCollapse="true"
                    Width="300px" Title="左侧面板" ShowBorder="true" ShowHeader="true" Layout="Fit">
                    <Items>
                        <f:Tree ID="Tree1" EnableSingleExpand="true" EnableCollapse="true" ShowHeader="false" runat="server" OnNodeCommand="Tree1_NodeCommand">
                        </f:Tree>
                    </Items>
                </fanel>
                <fanel runat="server" ID="panelCenterRegion" RegionPosition="Center"
                    Title="文档信息" ShowBorder="true" ShowHeader="false">
                    <Items>
                        <f:Grid ID="Grid1" Title="文档信息" EnableCollapse="true" ShowBorder="true" ShowHeader="true" runat="server"
                            DataKeyNames="cAreaID,cAreaName" AutoScroll="True">
                            <Columns>
                                <f:BoundField Width="60px" DataField="iXH" HeaderText="编码" />
                                <f:BoundField Width="200px" DataField="cTitle" HeaderText="标题" />
                                <f:BoundField Width="200px" DataField="cKeys" HeaderText="关键字" />
                                <f:BoundField Width="100px" DataField="cAuthor" HeaderText="作者" />
                                <f:BoundField Width="150px" DataField="dAuthor" HeaderText="创作时间" />
                                <f:BoundField Width="100px" DataField="iCs" HeaderText="浏览次数" />
                                <f:BoundField Width="100px" DataField="iFavorites" HeaderText="收藏次数" />
                            </Columns>
                        </f:Grid>
                    </Items>
            <Toolbars>
                <f:Toolbar ID="Toolbar1" runat="server">
                    <Items>
                        <f:Button ID="btnNew" Text="新增" Icon="Add" EnablePostBack="false" runat="server" />
                        <f:Button ID="btnDel" Text="删除" Icon="Delete" runat="server" OnClick="btnDel_Click" />
                        <f:Button ID="btnEdit" Text="修改" Icon="ApplicationEdit" runat="server" OnClick="btnEdit_Click" />
                        <f:Button ID="btnInfo" Text="阅读" Icon="ApplicationEdit" runat="server" OnClick="btnInfo_Click" />
                        <f:Button ID="btnOutput" Text="导出" runat="server" EnableAjax="false" DisableControlBeforePostBack="false" OnClick="btnOutput_Click" Icon="ApplicationPut" />
                        <f:ToolbarFill runat="server" />
                        <f:TextBox ID="txtname" Label="文档标题" runat="server" LabelWidth="70px" Width="300px" />
                        <f:Button ID="btnFind" Text="查询" Icon="ApplicationGo" runat="server" OnClick="btnFind_Click" />
                        <f:Button ID="btnPrint" Text="打印" Icon="rinter" runat="server" OnClientClick="prn1_preview();" />
                    </Items>
                </f:Toolbar>
            </Toolbars>
                </fanel>
            </Items>
        </fanel>

作者: sanshi    时间: 2015-8-14 16:35
sxycgxj 发表于 2015-8-13 17:32
...

看你的代码 Grid1 生成到客户端HTML 中的名字就不是 Grid1 了, $("#Grid1") 当然返回为空。

一般需要类似如下代码:
  1. <script>

  2.         var toolRefreshClientID = '<%= toolRefresh.ClientID %>';
  3.         var toolNewWindowClientID = '<%= toolNewWindow.ClientID %>';
  4.         var windowSourceCodeClientID = '<%= windowSourceCode.ClientID %>';
  5.         var mainTabStripClientID = '<%= mainTabStrip.ClientID %>';
  6.         var windowThemeRollerClientID = '<%= windowThemeRoller.ClientID %>';
  7.         var MenuStyleClientID = '<%= MenuStyle.ClientID %>';
  8.         var MenuLangClientID = '<%= MenuLang.ClientID %>';
  9.         var leftPanelClientID = '<%= leftPanel.ClientID %>';
  10.         var topPanelClientID = '<%= topPanel.ClientID %>';
复制代码


作者: sxycgxj    时间: 2015-8-17 09:24
明白了,感谢三石的解答
作者: sxycgxj    时间: 2015-8-17 09:30
只是获取到的GRID的innerHTML的格式应该如何控制呢?打印出来很乱
作者: Victory    时间: 2016-10-10 13:28
sxycgxj 发表于 2015-8-17 09:24
明白了,感谢三石的解答

你好,请问你的那个grid样式,是怎样获取的,能否把代码分享一下
作者: Victory    时间: 2016-10-10 13:46
sanshi 发表于 2015-8-14 16:35
看你的代码 Grid1 生成到客户端HTML 中的名字就不是 Grid1 了, $("#Grid1") 当然返回为空。

一般需要类 ...

三石先生,那个grid的样式样式怎样获取呢,不是很懂
作者: 南柯长梦    时间: 2016-11-10 09:19
Victory 发表于 2016-10-10 13:46
三石先生,那个grid的样式样式怎样获取呢,不是很懂

把head样式加进去
  1. var strheadStyle = "<head>" + document.getElementById("head1").innerHTML + "</head>";
复制代码





欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4