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; }