示例#1
0
        /// <summary>method write interpretation reference table to document grid, if it is needed
        /// </summary>
        /// <param name="reportData">report XML data object</param>
        private void WriteInterpretationRefTable(CysticFibrosisReportData reportData)
        {
            if (reportData.IsInterpretationRefTableVisible)
            {
                int    i, j;
                string cellText;
                double fontSize = m_FontSize - 0.5;

                IEnumerable <XElement> colHeaders = reportData.InterpretationRefTableColHeaders;

                int  colCount = colHeaders.Count();
                int  rowCount = reportData.InterpretationRefTableRowsCount + 1;
                Grid grid     = XPSHelper.GetGridWithEqualColumns(rowCount, colCount, 2.0 * m_LeftMargin, m_TopMargin);

                WriteSimpleSection(reportData.InterpretationRefTableHeaderText, fontSize);
                for (j = 0; j < colCount; j++)
                {
                    XPSHelper.WriteTextBlockToGrid(colHeaders.ElementAt(j).Value, grid, 0, j, HorizontalAlignment.Left, VerticalAlignment.Top, null, fontSize, null, FontWeights.Bold);
                }
                for (i = 1; i < rowCount; i++)
                {
                    for (j = 0; j < colCount; j++)
                    {
                        cellText = reportData.GetInterpretationRefTableCellText(i - 1, j);
                        XPSHelper.WriteTextBlockToGrid(cellText, grid, i, j, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(0, -2, 0, 0), fontSize);
                    }
                }
                m_ReportDocument.WriteRowContent(grid);
            }
        }