コード例 #1
0
        public void ColumnNamesAreNotCaseSensitive()
        {
            var t = new SimpleTableData();

            t.AddColumn("foo");
            t.AddColumn("FOO");
        }
コード例 #2
0
        public void DoesntAllowDuplicates()
        {
            var t = new SimpleTableData();

            t.AddColumn("foo");
            t.AddColumn("foo");
        }
コード例 #3
0
        private static void BuildHeaders(HtmlNode node, SimpleTableData data)
        {
            var tbl = data.Table;

            var headNode = new HtmlNode(HtmlNodeType.Element, node.OwnerDocument, SLContext.CurrentCtx.TemplateNodeId);

            headNode.Name = "thead";

            var rowNode = new HtmlNode(HtmlNodeType.Element, node.OwnerDocument, SLContext.CurrentCtx.TemplateNodeId);

            rowNode.Name = "tr";

            foreach (DataColumn col in tbl.Columns)
            {
                var colProps = GetColumnProps(data, col);
                var colNode  = new HtmlNode(HtmlNodeType.Element, node.OwnerDocument, SLContext.CurrentCtx.TemplateNodeId);
                colNode.Name = "th";

                colNode.InnerHtml = string.Format("{0}", colProps.DisplayName);

                if (colProps.IsHidden)
                {
                    continue;
                }
                rowNode.AppendChild(colNode);
            }

            headNode.AppendChild(rowNode);
            node.AppendChild(headNode);
        }
コード例 #4
0
        public void StorageWorks()
        {
            var t = new SimpleTableData();

            int numCols = _random.Next(1, 50);

            for (int n = 0; n < numCols; ++n)
            {
                t.AddColumn(Guid.NewGuid().ToString());
            }

            var rows = new List <SimpleTableRow>();

            int numRows = _random.Next(100, 1000);

            for (int n = 0; n < numRows; ++n)
            {
                var row = new SimpleTableRow();

                for (int c = 0; c < numCols; ++c)
                {
                    row.Add(Guid.NewGuid().ToString());
                }

                rows.Add(row);
                t.AddRow(row);
            }

            int i = 0;

            foreach (var row in t.Rows)
            {
                Assert.AreEqual(row, rows[i++]);
            }
        }
コード例 #5
0
        private static SimpleColumnProperties GetColumnProps(SimpleTableData data, DataColumn col)
        {
            var columnProps = data.ListOfColumnProperties.FirstOrDefault(x => x.ColumnName == col.ColumnName);

            return(columnProps != null ? columnProps : new SimpleColumnProperties {
                ColumnName = col.ColumnName, DisplayName = col.ColumnName
            });
        }
コード例 #6
0
        public string BuildTable(SimpleTableData tableData)
        {
            if (tableData == null)
            {
                return("TableData ist null!");
            }
            var content = TableBuilder.BuildTable(tableData);

            return(content);
        }
コード例 #7
0
        public void AcceptsRowsWithTooFewColumns()
        {
            var t = new SimpleTableData();

            t.AddColumn("col1");
            t.AddColumn("col2");
            t.AddColumn("col3");

            var row = new SimpleTableRow();

            row.Add("val1");

            t.AddRow(row);

            Assert.IsTrue(row.ColumnCount == t.ColumnCount);
        }
コード例 #8
0
        public void PreventsAdditionOfRowsWithTooManyColumns()
        {
            var t = new SimpleTableData();

            t.AddColumn("col1");
            t.AddColumn("col2");
            t.AddColumn("col3");

            var row = new SimpleTableRow();

            row.Add("val1");
            row.Add("val2");
            row.Add("val3");
            row.Add("val4");

            t.AddRow(row);
        }
コード例 #9
0
        public SimplePrintData CreateTable(SimpleTableData tableData)
        {
            var data = new SimplePrintData();

            var builder = new ReportBuilder();

            data.HtmlContent = builder.BuildTable(tableData);

            Cleanup(new SimpleReportData {
                ContentData = new SimpleContentData {
                    ListOfTables = new List <SimpleTableData> {
                        tableData
                    }
                }
            });
            return(data);
        }
コード例 #10
0
        public static string BuildTable(SimpleTableData tblData)
        {
            HtmlDocument doc  = new HtmlDocument();
            HtmlNode     node = new HtmlNode(HtmlNodeType.Element, doc, SLContext.CurrentCtx.TemplateNodeId);

            if (tblData.ListOfColumnProperties == null)
            {
                tblData.ListOfColumnProperties = new List <SimpleColumnProperties>();
            }
            ArrangeColumns(tblData.Table, tblData.ListOfColumnProperties);
            if (!tblData.HeaderAlreadyExists)
            {
                BuildHeaders(node, tblData);
            }

            BuildRows(node, tblData);
            return(node.InnerHtml);
        }
コード例 #11
0
ファイル: ResultSetDiffer.cs プロジェクト: CELCAT/CTDataStore
        protected override SimpleTableData GetRowsWithDifferences()
        {
            var result = new SimpleTableData();

            using (var c = CreateConnection())
                using (var cmd = c.CreateCommand())
                {
                    cmd.CommandTimeout = _commandTimeoutSecs;
                    cmd.CommandText    = GenerateSql();
                    using (IDataReader r = cmd.ExecuteReader())
                    {
                        while (r.Read())
                        {
                            result.AddFromReader(r);
                        }
                    }
                }

            return(result);
        }
コード例 #12
0
        private static void BuildRows(HtmlNode node, SimpleTableData data)
        {
            var tbl = data.Table;

            foreach (DataRow dr in tbl.Rows)
            {
                var drNode = new HtmlNode(HtmlNodeType.Element, node.OwnerDocument, SLContext.CurrentCtx.TemplateNodeId);
                drNode.Name = "tr";

                var rowId = string.Empty;
                foreach (DataColumn col in tbl.Columns)
                {
                    var colNode = new HtmlNode(HtmlNodeType.Element, node.OwnerDocument, SLContext.CurrentCtx.TemplateNodeId);
                    colNode.Name = "td";

                    colNode.InnerHtml = string.Format("{0}", dr[col.ColumnName].ToString());

                    var colProps = GetColumnProps(data, col);
                    if (colProps.IsIdColumn && string.IsNullOrEmpty(rowId))
                    {
                        rowId = dr[col.ColumnName].ToString();
                    }
                    if (colProps.IsHidden)
                    {
                        continue;
                    }

                    drNode.AppendChild(colNode);
                }

                //Set Row Id
                if (!string.IsNullOrEmpty(rowId))
                {
                    drNode.Attributes.Add("id", rowId);
                }

                node.AppendChild(drNode);
            }
        }
コード例 #13
0
        public void PreventsAdditionOfRowsWhenNoColumns()
        {
            var t = new SimpleTableData();

            t.AddRow(new SimpleTableRow());
        }
コード例 #14
0
 private static bool GetColumnIsHidden(SimpleTableData data, DataColumn col)
 {
     return(GetColumnProps(data, col).IsHidden);
 }