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