System.Web.UI.WebControls.DataGrid.PrepareControlHierarchy C# (CSharp) Method

PrepareControlHierarchy() protected method

protected PrepareControlHierarchy ( ) : void
return void
		protected override void PrepareControlHierarchy ()
		{
			if (!HasControls () || Controls.Count == 0)
				return; // No one called CreateControlHierarchy() with DataSource != null

			Table rt = render_table;
			rt.CopyBaseAttributes (this);
			rt.ApplyStyle (ControlStyle);

			rt.Caption = Caption;
			rt.CaptionAlign = CaptionAlign;
			rt.Enabled = IsEnabled;

			bool top_pager = true;
			foreach (DataGridItem item in rt.Rows) {
				
				switch (item.ItemType) {
				case ListItemType.Item:
					ApplyItemStyle (item);
					break;
				case ListItemType.AlternatingItem:
					ApplyItemStyle (item);
					break;
				case ListItemType.EditItem:
					item.MergeStyle (edit_item_style);
					ApplyItemStyle (item);
					ApplyColumnStyle (item.Cells, ListItemType.EditItem);
					break;
				case ListItemType.Footer:
					if (!ShowFooter) {
						item.Visible = false;
						break;
					}
					if (footer_style != null)
						item.MergeStyle (footer_style);
					ApplyColumnStyle (item.Cells, ListItemType.Footer);
					break;
				case ListItemType.Header:
					if (!ShowHeader) {
						item.Visible = false;
						break;
					}
					if (header_style != null)
						item.MergeStyle (header_style);
					ApplyColumnStyle (item.Cells, ListItemType.Header);
					break;
				case ListItemType.SelectedItem:
					item.MergeStyle (selected_style);
					ApplyItemStyle (item);
					ApplyColumnStyle (item.Cells, ListItemType.SelectedItem);
					break;
				case ListItemType.Separator:
					ApplyColumnStyle (item.Cells, ListItemType.Separator);
					break;
				case ListItemType.Pager:
					DataGridPagerStyle ps = PagerStyle;
					if (ps.Visible == false || !paged_data_source.IsPagingEnabled) {
						item.Visible = false;
					} else {
						if (top_pager)
							item.Visible = (ps.Position != PagerPosition.Bottom);
						else
							item.Visible = (ps.Position != PagerPosition.Top);
						top_pager = false;
					}

					if (item.Visible)
						item.MergeStyle (pager_style);
					break;
				}
			}
		}