private void DisplayViewStateColumns(ViewListSettings listSettings) { ColumnBuilderService.BuildGridColumns(listSettings, pnlGridHeader.Controls, pnlRow.Controls); foreach (Label label in pnlGridHeader.Controls.OfType <Label>()) { label.DoubleClick += ColumnLabel_DoubleClick; } foreach (Label label in pnlRow.Controls.OfType <Label>()) { label.DoubleClick += ColumnLabel_DoubleClick; } if (listSettings.Columns.Count > 0) { SelectColumn(listSettings.OrderedColumns[0]); } }
protected virtual void InitializeGridRows(ViewListSettings settings) { ClearGridControls(); if (settings.ShowColumnCaptions) { GridHeader = new ListHeader() { Height = settings.RowHeight.HasValue ? settings.RowHeight.Value : DefaultRowHeight }; } var gridRow = new ListRow() { Height = settings.RowHeight.HasValue ? settings.RowHeight.Value : DefaultRowHeight, Index = 0 }; ColumnBuilderService.BuildGridColumns(settings, GridHeader.Controls, gridRow.Controls); pnlDetail.Controls.Add(GridHeader); if (State.ListSettings.Columns.Count > 0) { gridRow.Controls.OfType <Label>().FirstOrDefault(c => ((ViewListColumn)c.Tag).Index == 0).Text = "0"; pnlDetail.Controls.Add(gridRow); var maxRows = settings.MaxRows.HasValue ? settings.MaxRows.Value : 8; for (int i = 1; i < maxRows; i++) { var newRow = gridRow.DeepCopy(); newRow.Index = i; newRow.Controls.OfType <Label>().FirstOrDefault(c => ((ViewListColumn)c.Tag).Index == 0).Text = i.ToString(); pnlDetail.Controls.Add(newRow); newRow.BringToFront(); } } GridHeader.SendToBack(); }