Adf.Web.Panels.PanelRenderer.Render C# (CSharp) Method

Render() public method

public Render ( Adf.Core.Panels.AdfPanel panel ) : object
panel Adf.Core.Panels.AdfPanel
return object
        public object Render(AdfPanel panel)
        {
            short index = 0;
            var table = new Table { CssClass = PanelStyle};

            int cellsperrow = panel.GetMaxItemsPerRow() * 2;

            foreach (var panelrow in panel.Rows)
            {
                var row = new TableRow { CssClass = RowStyle };
                var itemcell = new TableCell();

                for (int i = 0; i < panelrow.Items.Count(); i++)
                {
                    var item = panelrow.Items[i];

                    var labels = RenderLabel(item);
                    var items = RenderItem(item);

                    item.SetTabIndex(index += 3);

                    if (!item.AttachToPrevious)
                    {
                        if (!item.Label.IsNullOrEmpty())
                        {
                            var labelcell = new TableCell();

                            labelcell.Controls.AddRange(labels);
                            row.Controls.Add(labelcell);
                        }

                        itemcell = new TableCell();
                    }

                    itemcell.Controls.AddRange(items);
                    if (i == panelrow.Items.Count() - 1) itemcell.ColumnSpan = cellsperrow - i;

                    row.Controls.Add(itemcell);
                }

                table.Rows.Add(row);
            }

            return table;
        }