使用ReportStringControl 动态添加报表列

来源:互联网 发布:汉语智能发音软件 编辑:程序博客网 时间:2024/05/16 18:27
sample:
void setWeekDateColumn()
{
    transDate               Date_EveryDay;
    int                     dayOfWeek;
    ReportTextControl       RC_PH_Mth;
    ReportTextControl       RC_PH_EveryDay;
    boolean                 firstWeek = true;
    ;

    if (finishedFrDate != dateNull())
        Date_EveryDay       = fromDate < finishedFrDate ? fromDate : finishedFrDate;
    else
        Date_EveryDay       = fromDate;

    do
    {
        dayOfWeek = dayOfWk(Date_EveryDay);
        if (firstWeek && dayOfWeek != 7)
        {
            RC_PH_EveryDay = PH_EveryDay.addTextControl(strfmt("ED%1",Date_EveryDay));
            RC_PH_EveryDay.alignment(1);
            RC_PH_EveryDay.width(2,Units::mm);
            RC_PH_EveryDay.fontSize(5);
            RC_PH_EveryDay.name(strfmt("ED%1",Date_EveryDay));
            RC_PH_EveryDay.showLabel(false);
            RC_PH_EveryDay.text(strfmt("%1",dayOfMth(Date_EveryDay)));
            RC_PH_EveryDay.text("");
        }
        else if (dayOfWeek == 7)
        {
            firstWeek = false;

            RC_PH_EveryDay = PH_EveryDay.addTextControl(strfmt("ED%1",Date_EveryDay));
            RC_PH_EveryDay.alignment(1);
            RC_PH_EveryDay.width(dayofWeek * 2,Units::mm);
            RC_PH_EveryDay.fontSize(5);
            RC_PH_EveryDay.name(strfmt("ED%1",Date_EveryDay));
            RC_PH_EveryDay.showLabel(false);
            RC_PH_EveryDay.text(strfmt("%1",dayOfMth(Date_EveryDay)));
            RC_PH_EveryDay.text("");

            RC_PH_Mth = PH_Mth.addTextControl(strfmt("WD%1",Date_EveryDay));
            RC_PH_Mth.showLabel(false);
            RC_PH_Mth.text(strfmt("%1",Date_EveryDay));
            RC_PH_Mth.modelFieldName(RC_PH_EveryDay.name());
            RC_PH_Mth.alignment(1);

        }

        Date_EveryDay   = Date_EveryDay + 1;
    }
    while (Date_EveryDay <= (toDate > finishedToDate ? toDate : finishedToDate));
}
原创粉丝点击