zoukankan      html  css  js  c++  java
  • How to resolve DynamicHeight problem in Morphx report[X++]

    For set dynamic height for controls in report

    on executeSection method:

    method 01

        real                        maxHeight;
        str                         maxStrValue = this.maxStrControlName();
        ReportStringControl         maxStrControl = element.design().controlName("maxStrControlName");
    ;
        maxHeight= maxStrControl.heightOfWordWrappedString100mm(maxStrValue);
    
        if (maxHeight!= maxStrControl.height100mm())         
        {
            maxStrControl.height100mm(maxHeight);
        }


    or same in char:

    method 02

        int    maxHeightChar;
    ;  
    
        maxHeightChar = maxStrControl.widthOfString100mm(maxStrValue) / maxStrControl.width100mm() + 1;     
    
        maxStrControl.height(maxHeightChar , Units::CHAR);

    for example

    public void executeSection()
    {
        //CUS Changed on 09 Oct 2013 at 12:28:55 by Jimmy Xie TECTURA LL000260 Begin
        ReportStringControl maxStrControl = element.design().controlName("commodityNo");
        str                 maxStrValue = this.commodityNo();
        int                 maxHeight = maxStrControl.widthOfString100mm(maxStrValue) / maxStrControl.width100mm() + 2;
    ;
        /* method 1
        maxHeight = maxStrControl.heightOfWordWrappedString100mm(maxStrValue);
        if (maxHeight != maxStrControl.height100mm())
            maxStrControl.height100mm(maxHeight);
        */
    
        //commodityNo.height(maxHeight, Units::char);
        // method 2
        LineNumStr.height(maxHeight, Units::char);
        ItemName.height(maxHeight, Units::char);
        QtyStr.height(maxHeight, Units::char);
        SalesPriceStr.height(maxHeight, Units::char);
        netSalesPriceStr.height(maxHeight, Units::char);
        amountStr.height(maxHeight, Units::char);
        //CUS Changed on 09 Oct 2013 at 12:28:55 by Jimmy Xie TECTURA LL000260 End
    
        serialNumber++;
        super();
        totalTaxValue  += CustInvoiceTrans.lineAmountInclTax();//TaxAmount;
        totalQty       += CustInvoiceTrans.Qty;
    }
  • 相关阅读:
    ECMAScript 6 基础入门
    软件历史版本存档及下载
    arduino 编程基础
    生活中的实验 —— 家庭电路
    电子元件 —— 继电器
    电与磁 —— 电磁铁
    windows cmd 命令行 —— 进程与服务
    计算机硬件、摄影设备、物质、材料英语
    DHCP服务器备份、还原、迁移
    SVN同步
  • 原文地址:https://www.cnblogs.com/Fandyx/p/3358926.html
Copyright © 2011-2022 走看看