FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4568|回复: 3
打印 上一主题 下一主题

lodop打印程序:附件里有程序改成js这样程序

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-29 10:02:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 shouzhi2007 于 2014-9-29 11:06 编辑

  1.   public static string GetPrintHtmlJS(string title, string strKacode, string strFixedCode, string strName, string strSpecification, string strMoney, string strDept, string strUseTime, string strPlace, string strNumber, string strListStatus, string strListUnit, string strUseUser, string strDes, int layout, string top, string left, string width, string height, string strHtml)
  2.         {
  3.             var sb = new StringBuilder();
  4.             sb.AppendLine("        function PrintTable(title,layout,strHtml) {");
  5.            
  6.             sb.AppendLine("            LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));");
  7.             sb.AppendLine("            LODOP.NewPage();");
  8.             sb.AppendLine("            LODOP.PRINT_INITA(0,0,378,186, '" + title + "');");

  9.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(2,41,300,33,"非生产用固定资产条");");
  10.             sb.AppendLine("            LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑");");
  11.             sb.AppendLine("            LODOP.SET_PRINT_STYLEA(0,"FontSize",16);");
  12.             sb.AppendLine("            LODOP.SET_PRINT_STYLEA(0,"Alignment",2);");
  13.          
  14.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(77,196,65,17,"卡片编码");");
  15.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(96,196,65,17,"使用部门");");
  16.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(115,197,65,17,"启用日期");");
  17.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(134,196,65,17,"序号");");
  18.             sb.AppendLine("            LODOP.ADD_PRINT_RECT(151,6,70,20,0,1);");
  19.       
  20.             
  21.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(153,78,292,17,'" + strPlace + "');");
  22.             sb.AppendLine("            LODOP.ADD_PRINT_TEXT(133,265,105,17,'" + strNumber + "'+"-1");");

  23.             sb.AppendLine("            LODOP.PREVIEW();");
  24.             sb.AppendLine("        };");
  25.            
  26.             sb.AppendFormat("window.setTimeout(function(){{PrintTable('{0}',{1},'{2}');}},100);", title, strKacode, strFixedCode, strName, strSpecification, strMoney, strDept, strUseTime, strPlace, strNumber, strListStatus, strListUnit, strUseUser, strDes, layout, HttpUtility.JavaScriptStringEncode(strHtml));
  27.             return sb.ToString();
  28.         }



  29.         protected void btnPrint_Click(object sender, EventArgs e)
  30.         {
  31.             List<int> ids = GetSelectedDataKeyIDs(Grid1);

  32.             for (int i = 1; i < ids.Count; i++)
  33.             {

  34.                 Non_FixedAssets current = DB.Non_FixedAssetss.Where(eq => ids.Contains(eq.ID)).FirstOrDefault();
  35.                 if (current == null)
  36.                 {
  37.                     // 参数错误,首先弹出Alert对话框然后关闭弹出窗口
  38.                     Alert.Show("参数错误!", String.Empty, ActiveWindow.GetHideReference());
  39.                     return;
  40.                 }

  41.                 var title = "资产条";


  42.                 var strKacode = current.Non_KaCode;
  43.                 var strFixedCode = current.Non_FixedCode;
  44.                 var strName = current.Non_Name;
  45.                 var strSpecification = current.Non_Specification;
  46.                 var strDept = current.Non_Dept;
  47.             

  48.                 var strTable = "";
  49.                 PageContext.RegisterStartupScript(FixedAssets_non.GetPrintHtmlJS(title, strKacode, strFixedCode, strName, strSpecification, strMoney, strDept, strUseTime, strPlace, strNumber, strListStatus, strListUnit, strUseUser, strDes, 1, "10", "15", ""96%"", "88", strTable));
  50.             }
  51.      
  52.         }
复制代码


这个C#代码,改成类似:以下JS代

  1. <script language="javascript" type="text/javascript">
  2.         var LODOP; //声明为全局变量
  3.         function MyPreview() {        
  4.                 LODOP=getLodop();  
  5.                 LODOP.PRINT_INIT("打印控件Lodop功能演示_多页预览");
  6.                 LODOP.SET_PRINT_PAGESIZE(1,500,508,"");        
  7.                 CreateAllPages();
  8.                 LODOP.PREVIEW();
  9.         };
  10.         function CreateAllPages(){        
  11.                 for (i = 1; i < 8; i++) {
  12.                         LODOP.NewPage();
  13.                         LODOP.ADD_PRINT_RECT(10,18,128,160,0,1);               
  14.                         LODOP.ADD_PRINT_TEXT(31,33,111,20,"商品编号:"+document.getElementById("BH"+i).value);               
  15.                         LODOP.ADD_PRINT_TEXT(69,33,111,20,"商品名称:"+document.getElementById("MC"+i).value);
  16.                         LODOP.ADD_PRINT_TEXT(107,33,111,20,"商品数量:"+document.getElementById("SL"+i).value);
  17.                         LODOP.ADD_PRINT_TEXT(146,33,111,20,"商品单价:"+document.getElementById("DJ"+i).value);                        
  18.                 }                        
  19.                
  20.         };        
  21. </script>
复制代码

图片效果



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2014-9-29 12:10:58 | 只看该作者
支持一下!!顶!!
板凳
 楼主| 发表于 2014-10-1 10:31:28 | 只看该作者
搞定了                             
地板
 楼主| 发表于 2014-10-1 10:32:38 | 只看该作者
  1. public static string GetPrintHtmlJS(List<int> ids)
  2.         {
  3.             var sb = new StringBuilder();
  4.             sb.AppendLine("        function PrintTable() {");

  5.             sb.AppendLine("            LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));");
  6.             sb.AppendLine("            LODOP.PRINT_INITA(0,0,378,186, "非生产用固定资产条");");
  7.             sb.AppendLine("           LODOP.SET_PRINT_PAGESIZE(0,1000,500,"");");
  8.             var fSumvalue = 0;
  9.             var PrintTime = 1;
  10.             //取到ids的批量值
  11.             for (int i = 0; i < ids.Count; i++)
  12.             {
  13.                 //从LIST里取值,并强制转化为int型
  14.                 int id = int.Parse(ids[i].ToString());
  15.                 //通过ID查询出值
  16.                 Non_FixedAssets current = DB.Non_FixedAssetss.Where(eq => eq.ID == id).FirstOrDefault();


  17.                 var strKacode = current.Non_KaCode;
  18.                 var strFixedCode = current.Non_FixedCode;
  19.                 var strName = current.Non_Name;
  20.                 var strSpecification = current.Non_Specification;
  21.                 var strDept = current.Non_Dept;
  22.                 var strUseTime = current.Non_UseTime;
  23.                 var strPlace = current.Non_Place;


  24.                 var strNumber = current.Non_Number;
  25.                 var strListStatus = current.Non_Status;
  26.                 var strListUnit = current.Non_Unit;
  27.                 var strUseUser = current.Non_UseUser;
  28.                 var strMoney = current.Non_Money;
  29.                 var strDes = current.Non_DES;
  30.                 fSumvalue = fSumvalue + int.Parse(strNumber);
  31.                 if (fSumvalue < 50)
  32.                 {
  33.                     for (int y = 1; y < int.Parse(strNumber)+1; y++)
  34.                     {
  35.                         //可以用NewPage函数直接强制在新一页的固定位置输出。
  36.                         sb.AppendLine("             LODOP.NewPage();");
  37.                         //以下都是设置
  38.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(2,41,300,33,"非生产用固定资产条");");
  39.                         sb.AppendLine("            LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑");");
  40.                         sb.AppendLine("            LODOP.SET_PRINT_STYLEA(0,"FontSize",16);");
  41.                         sb.AppendLine("            LODOP.SET_PRINT_STYLEA(0,"Alignment",2);");
  42.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(56,6,70,20,0,1);");
  43.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(56,75,298,20,0,1);");
  44.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(37,6,70,20,0,1);");
  45.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(37,75,298,20,0,1);");
  46.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(75,263,110,20,0,1);");
  47.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(75,194,70,20,0,1);");
  48.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(75,75,120,20,0,1);");
  49.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(75,6,70,20,0,1);");
  50.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(94,263,110,20,0,1);");
  51.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(94,194,70,20,0,1);");
  52.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(94,75,120,20,0,1);");
  53.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(94,6,70,20,0,1);");
  54.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(113,263,110,20,0,1);");
  55.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(113,194,70,20,0,1);");
  56.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(113,75,120,20,0,1);");
  57.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(113,6,70,20,0,1);");
  58.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(132,263,110,20,0,1);");
  59.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(132,194,70,20,0,1);");
  60.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(132,75,120,20,0,1);");
  61.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(132,6,70,20,0,1);");
  62.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(152,8,65,17,"存放地点");");
  63.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(39,9,65,17,"资产名称");");
  64.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(77,9,65,17,"资产编码");");
  65.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(96,9,65,17,"资产原值");");
  66.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(115,9,65,17,"责任人");");
  67.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(134,9,65,17,"数量");");
  68.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(58,9,65,17,"规格型号");");
  69.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(77,196,65,17,"卡片编码");");
  70.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(96,196,65,17,"使用部门");");
  71.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(115,197,65,17,"启用日期");");
  72.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(134,196,65,17,"序号");");
  73.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(151,6,70,20,0,1);");
  74.                         sb.AppendLine("            LODOP.ADD_PRINT_RECT(151,75,298,20,0,1);");
  75.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(76,79,115,17,'" + strFixedCode + "');");
  76.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(39,79,291,17, '" + strName + "');");
  77.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(115,79,115,17,'" + strUseUser + "');");
  78.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(96,79,115,17,'" + strMoney + "');");
  79.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(134,79,115,17,'" + strNumber + "');");
  80.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(57,80,291,17,'" + strSpecification + "');");
  81.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(78,266,105,17,'" + strKacode + "');");
  82.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(97,265,105,17,'" + strDept + "');");
  83.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(116,265,105,17,'" + strUseTime + "');");
  84.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(153,78,292,17,'" + strPlace + "');");
  85.                         sb.AppendLine("            LODOP.ADD_PRINT_TEXT(133,265,105,17,'" + strNumber + "'+"-"+'"+y+"');");
  86.                     }
  87.                 }
  88.                 else {
  89.                     Alert.ShowInTop("大姐啊!你选择单条数据,数量已经达到:" + fSumvalue + ",所选择的数量大于50,暂时不会打印了!");
  90.                 }
  91.              //   Non_FixedAssets current1 = DB.Non_FixedAssetss.Where(eq => ids.Contains(eq.ID)).FirstOrDefault();
  92.                 //打印次数
  93.                 current.Non_PrintTimes += PrintTime;

  94.                 //更新打印次数
  95.                 DB.SaveChanges();
  96.             }
  97.             if (fSumvalue < 50) {
  98.                 //打印预览
  99.                 Alert.ShowInTop("你已经选择了:" + ids.Count + "条数量!会打印:" + fSumvalue + "次!");
  100.                 sb.AppendLine("            LODOP.PREVIEW();");
  101.             }
  102.             else
  103.             {
  104.                 Alert.ShowInTop("大姐啊!你选择了:" + ids.Count + "条数据,但数量已经达到:" + fSumvalue + ",所选择的数量大于50,暂时不会打印了!");
  105.             }
  106.                
  107.                 sb.AppendLine("        };");

  108.                 sb.AppendFormat("window.setTimeout(function(){{PrintTable();}},100);", ids);
  109.                 return sb.ToString();
  110.             
  111.         }


  112.         protected void btnPrint_Click(object sender, EventArgs e)
  113.         {
  114.          
  115.             //从表格里得到LIST的值
  116.             List<int> ids = GetSelectedDataKeyIDs(Grid1);
  117.          
  118.             PageContext.RegisterStartupScript(FixedAssets_non.GetPrintHtmlJS(ids));
  119.            
  120.          
  121.         }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-25 18:59 , Processed in 0.057212 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表