⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datalist.cs

📁 不错的人事管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Web.UI;
using System.Collections;

namespace System.Web.UI.WebControls
{
	/// <summary>
	/// Summary description for DataList.
	/// </summary>
	// .custom instance void [System]System.ComponentModel.EditorAttribute::
	public class DataList : BaseDataList,INamingContainer,IRepeatInfoUser
	{
     public const string SelectCommandName = "Select";
     public const string EditCommandName = "Edit";
     public const string UpdateCommandName = "Update";
     public const string CancelCommandName = "Cancel";
     public const string DeleteCommandName = "Delete";
     private static object EventItemCreated;
     private static object EventItemDataBound;
     private static object EventItemCommand;
     private static object EventEditCommand;
     private static object EventUpdateCommand;
     private static object EventCancelCommand;
     private static object EventDeleteCommand;
     private System.Web.UI.WebControls.TableItemStyle itemStyle;
     private System.Web.UI.WebControls.TableItemStyle alternatingItemStyle;
     private System.Web.UI.WebControls.TableItemStyle selectedItemStyle;
     private System.Web.UI.WebControls.TableItemStyle editItemStyle;
     private System.Web.UI.WebControls.TableItemStyle separatorStyle;
     private System.Web.UI.WebControls.TableItemStyle headerStyle;
     private System.Web.UI.WebControls.TableItemStyle footerStyle;
     private System.Web.UI.ITemplate itemTemplate;
     private System.Web.UI.ITemplate alternatingItemTemplate;
     private System.Web.UI.ITemplate selectedItemTemplate;
     private System.Web.UI.ITemplate editItemTemplate;
     private System.Web.UI.ITemplate separatorTemplate;
     private System.Web.UI.ITemplate headerTemplate;
     private System.Web.UI.ITemplate footerTemplate;
     private bool extractTemplateRows;
     private System.Collections.ArrayList itemsArray;
     private System.Web.UI.WebControls.DataListItemCollection itemsCollection;

		static DataList() 
		{
			DataList.EventItemCreated = new Object();
			DataList.EventItemDataBound = new Object();
			DataList.EventItemCommand = new Object();
			DataList.EventEditCommand = new Object();
			DataList.EventUpdateCommand = new Object();
			DataList.EventCancelCommand = new Object();
			DataList.EventDeleteCommand = new Object();
		}

		public DataList() : base() 
		{
		}

		protected override void CreateControlHierarchy(bool useDataSource) 
		{
			IEnumerable local0;
			int local1;
			ArrayList local2;
			ICollection local3;
			DataListItem local4;
			ListItemType local5;
			int local6;
			bool local7;
			int local8;
			int local9;
			string local10;
			bool local11;
			object local12;
			object local13;
			IEnumerator local14;
			IDisposable local15;

			local0 = null;
			local1 = -1;
			local2 = this.DataKeysArray;
			this.extractTemplateRows = this.ExtractTemplateRows;
			if (this.itemsArray != null)
				this.itemsArray.Clear();
			else
				this.itemsArray = new ArrayList();
			if (!(useDataSource)) 
			{
				local1 = (Int32) this.ViewState["_!ItemCount"];
				if (local1 == -1)
					goto i0;
				local0 = new DummyDataSource(local1);
				this.itemsArray.Capacity = local1;
			}
			else 
			{
				local2.Clear();
				local0 = System.Web.UI.DataSourceHelper.GetResolvedDataSource(this.DataSource, this.DataMember);
				local3 = local0 as ICollection;
				if (local3 != null) 
				{
					local2.Capacity = local3.Count;
					this.itemsArray.Capacity = local3.Count;
				}
			}
			i0: if (local0 != null) 
				{
//					this.Controls;
					local6 = 0;
					local7 = (this.separatorTemplate != null);
					local8 = this.EditItemIndex;
					local9 = this.SelectedIndex;
					local10 = this.DataKeyField;
					if (useDataSource)
					{
//						goto i-1;
					}
					local11 = false;
					local1 = 0;
					if (this.headerTemplate != null)
						this.CreateItem(-1, 0, useDataSource, null);
					local14 = local0.GetEnumerator();
					try 
					{
						while (local14.MoveNext()) 
						{
							local12 = local14.Current;
							if (local11) 
							{
								local13 = System.Web.UI.DataBinder.GetPropertyValue(local12, local10);
								local2.Add(local13);
							}
							local5 = (ListItemType)2;
							if (local6 == local8)
								local5 = (ListItemType)5;
							else 
							{
								if (local6 == local9)
									local5 = (ListItemType)4;
								else 					if (local6 % 2 != 0)
									local5 = (ListItemType)3;
							}
							local4 = this.CreateItem(local6, local5, useDataSource, local12);
							this.itemsArray.Add(local4);
							if (local7)
								this.CreateItem(local6, (ListItemType)6, useDataSource, null);
							local1++;
							local6++;
						}
					}
					finally 
					{
						local15 = local14 as IDisposable;
						if (local15 == null)
						{
//							goto i-1;
						}
						local15.Dispose();
					}
					if (this.footerTemplate != null)
						this.CreateItem(-1, (ListItemType)1, useDataSource, null);
				}
			if (useDataSource) 
			{
				if (local0 == null)
				{
//					goto i-1;
				}
//				"_!ItemCount"[-1]= local1;
			}
		}

		protected virtual Style CreateControlStyle() 
		{
			TableStyle local0;

			local0 = new TableStyle(this.ViewState);
			local0.CellSpacing = 0;
			return local0;
		}

		private DataListItem CreateItem(int itemIndex, ListItemType itemType, bool dataBind, object dataItem) 
		{
			throw new Exception("");
//			DataListItem local0;
//			DataListItemEventArgs local1;
//
//			local0 = this.CreateItem(itemIndex, itemType);
//			local1 = new DataListItemEventArgs(local0);
//			this.InitializeItem(local0);
//			if (dataBind)
//				local0.DataItem = dataItem;
//			this.OnItemCreated(local1);
//			this.Controls.Add(local0);
//			if (dataBind) 
//			{
//				local0.DataBind();
//				this.OnItemDataBound(local1);
//				local0.DataItem = null;
//			}
//			return local0;
		}
		protected virtual DataListItem CreateItem(int itemIndex, ListItemType itemType) 
		{
			throw new Exception("");
//			return new DataListItem(itemIndex, itemType);
		}

		private DataListItem GetItem(ListItemType itemType, int repeatIndex) 
		{
			DataListItem local0;
			int local1;
			ListItemType local2;

			local0 = null;
			local2 = itemType;
			switch (local2) 
			{
				case 0:
//					local0 = (DataListItem) this.Controls[0];
					break;
					break;
				case (ListItemType)1:
//					local0 = (DataListItem) this.Controls[this.Controls.Count - 1];
					break;
					break;
				case (ListItemType)6:
					local1 = repeatIndex * 2 + 1;
					if (this.headerTemplate != null)
						local1++;
//					local0 = (DataListItem) this.Controls[local1];
					break;
					break;
//				case 2:
//					goto case 5;
//				case 3:
//					goto case 5;
//				case 4:
//					goto case 5;
//				case 5:
//					local0 = (DataListItem) this.itemsArray[repeatIndex];
					break;
			}
			return local0;
		}

		protected virtual void InitializeItem(DataListItem item) 
		{
			ITemplate local0;
			ListItemType local1;

			local0 = this.itemTemplate;
//			local1 = item.ItemType;
//			switch (local1) 
//			{
//				case 0:
//					local0 = this.headerTemplate;
//					break;
//					break;
//				case (ListItemType)1:
//					local0 = this.footerTemplate;
//					break;
//					break;
//				case (ListItemType)3:
//					i1: if (this.alternatingItemTemplate == null)
//							break;
//					local0 = this.alternatingItemTemplate;
//					break;
//					break;
//				case (ListItemType)4:
//					i2: if (this.selectedItemTemplate != null) 
//						{
//							local0 = this.selectedItemTemplate;
//							break;
//						}
//					if (item.ItemIndex % 2 == 0)
//						break;
//					goto i1;
//					break;
//				case (ListItemType)5:
//					if (this.editItemTemplate != null) 
//					{
//						local0 = this.editItemTemplate;
//						break;
//					}
//					if (item.ItemIndex == this.SelectedIndex)
//						goto i2;
//					if (item.ItemIndex % 2 == 0)
//						break;
//					goto i1;
//					break;
//				case (ListItemType)6:
//					local0 = this.separatorTemplate;
//					break;
//			}
//			if (local0 != null)
//				local0.InstantiateIn(this);
		}

		protected virtual void LoadViewState(object savedState) 
		{
			object[] local0;

			if (savedState != null) 
			{
				local0 = (object[]) savedState;
//				if (local0[0])
//					this.LoadViewState(local0[0]);
//				if (local0[1])
//					this.ItemStyle.LoadViewState(local0[1]);
//				if (local0[2])
//					this.SelectedItemStyle.LoadViewState(local0[2]);
//				if (local0[3])
//					this.AlternatingItemStyle.LoadViewState(local0[3]);
//				if (local0[4])
//					this.EditItemStyle.LoadViewState(local0[4]);
//				if (local0[5])
//					this.SeparatorStyle.LoadViewState(local0[5]);
//				if (local0[6])
//					this.HeaderStyle.LoadViewState(local0[6]);
//				if (local0[7])
//					this.FooterStyle.LoadViewState(local0[7]);
			}
		}

		protected virtual bool OnBubbleEvent(object source, EventArgs e) 
		{
			bool local0;
			DataListCommandEventArgs local1;
			string local2;

			local0 = false;
//			if (e as DataListCommandEventArgs != null) 
//			{
//				local1 = (DataListCommandEventArgs) e;
//				this.OnItemCommand(local1);
//				local0 = true;
//				local2 = local1.CommandName;
//				if (System.String.Compare(local2, "Select", true) == 0) 
//				{
//					this.SelectedIndex = local1.Item.ItemIndex;
//					this.OnSelectedIndexChanged(System.EventArgs.Empty);
//				}
//				else 
//				{
//					if (System.String.Compare(local2, "Edit", true) == 0)
//						this.OnEditCommand(local1);
//					else 
//					{
//						if (System.String.Compare(local2, "Delete", true) == 0)
//							this.OnDeleteCommand(local1);
//						else 
//						{
//							if (System.String.Compare(local2, "Update", true) == 0)
//								this.OnUpdateCommand(local1);
//							else 					if (System.String.Compare(local2, "Cancel", true) == 0)
//								this.OnCancelCommand(local1);
//						}
//					}
//				}
//			}
			return local0;
		}

		protected virtual void OnCancelCommand(DataListCommandEventArgs e) 
		{
			DataListCommandEventHandler local0;

			local0 = (DataListCommandEventHandler) this.Events[DataList.EventCancelCommand];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected virtual void OnDeleteCommand(DataListCommandEventArgs e) 
		{
			DataListCommandEventHandler local0;

			local0 = (DataListCommandEventHandler) this.Events[DataList.EventDeleteCommand];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected virtual void OnEditCommand(DataListCommandEventArgs e) 
		{
			DataListCommandEventHandler local0;

			local0 = (DataListCommandEventHandler) this.Events[DataList.EventEditCommand];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected virtual void OnItemCommand(DataListCommandEventArgs e) 
		{
			DataListCommandEventHandler local0;

			local0 = (DataListCommandEventHandler) this.Events[DataList.EventItemCommand];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected virtual void OnItemCreated(DataListItemEventArgs e) 
		{
			DataListItemEventHandler local0;

			local0 = (DataListItemEventHandler) this.Events[DataList.EventItemCreated];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected virtual void OnItemDataBound(DataListItemEventArgs e) 
		{
			DataListItemEventHandler local0;

			local0 = (DataListItemEventHandler) this.Events[DataList.EventItemDataBound];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected virtual void OnUpdateCommand(DataListCommandEventArgs e) 
		{
			DataListCommandEventHandler local0;

			local0 = (DataListCommandEventHandler) this.Events[DataList.EventUpdateCommand];
			if (local0 != null)
			{
//				local0.Invoke(this, e);
			}
		}

		protected override void PrepareControlHierarchy() 
		{
			ControlCollection local0;
			int local1;
			Style local2;
			Style local3;
			int local4;
			DataListItem local5;
			IEnumerator local6;
			Control local7;
			IEnumerator local8;
			ListItemType local9;

			local0 = this.Controls;
			local1 = local0.Count;
			if (local1 == 0)
				return;
			local2 = null;
			if (this.alternatingItemStyle != null) 
			{
				local2 = new TableItemStyle();
				local2.CopyFrom(this.itemStyle);
				local2.CopyFrom(this.alternatingItemStyle);
			}
			else
				local2 = this.itemStyle;
			local4 = 0;
			while (local4 < local1) 
			{
//				local5 = (DataListItem) local0[local4];
				local3 = null;
//				local9 = local5.ItemType;
//				switch (local9) 
//				{
//					case 0:
//						if (!(this.ShowHeader))
//							break;
//						local3 = this.headerStyle;
//						break;
//						break;
//					case (ListItemType)1:
//						if (!(this.ShowFooter))
//							break;
//						local3 = this.footerStyle;
//						break;
//						break;
//					case (ListItemType)6:
//						local3 = this.separatorStyle;
//						break;
//						break;
//					case (ListItemType)2:
//						local3 = this.itemStyle;
//						break;
//						break;
//					case (ListItemType)3:
//						local3 = local2;
//						break;
//						break;
//					case (ListItemType)4:
//						local3 = new TableItemStyle();
//						if (local5.ItemIndex % 2 != 0)
//							local3.CopyFrom(local2);
//						else
//							local3.CopyFrom(this.itemStyle);
//						local3.CopyFrom(this.selectedItemStyle);
//						break;
//						break;
//					case (ListItemType)5:
//						local3 = new TableItemStyle();
//						if (local5.ItemIndex % 2 != 0)
//							local3.CopyFrom(local2);
//						else
//							local3.CopyFrom(this.itemStyle);
//						if (local5.ItemIndex == this.SelectedIndex)
//							local3.CopyFrom(this.selectedItemStyle);
//						local3.CopyFrom(this.editItemStyle);
//						break;
//				}
				if (local3 != null) 
				{
					if (!(this.extractTemplateRows))
					{
//						local5.MergeStyle(local3);
					}
					else 
					{
//						local6 = local5.Controls.GetEnumerator();
//						while (local6.MoveNext()) 
//						{
//							local7 = (Control) local6.Current;
//							if (local7 as Table == null)
//								continue;
//							local8 = (Table) local7.Rows.GetEnumerator();
//							while (local8.MoveNext())
//								(TableRow) local8.Current.MergeStyle(local3);
//							break;
//						}
					}
				}
				local4++;
			}
		}

		protected virtual void RenderContents(HtmlTextWriter writer) 
		{
			RepeatInfo local0;
			Table local1;
			Style local2;

			if (this.Controls.Count == 0)
				return;
			local0 = new RepeatInfo();
			local1 = null;
			local2 = this.ControlStyle;
			if (this.extractTemplateRows) 
			{
				local0.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Vertical;
				local0.RepeatLayout = System.Web.UI.WebControls.RepeatLayout.Flow;
				local0.RepeatColumns = 1;
				local0.OuterTableImplied = true;
				local1 = new Table();
				local1.ID = this.ClientID;
				local1.CopyBaseAttributes(this);
				local1.ApplyStyle(local2);
				local1.RenderBeginTag(writer);
			}
			else 
			{
				local0.RepeatDirection = this.RepeatDirection;
				local0.RepeatLayout = this.RepeatLayout;
				local0.RepeatColumns = this.RepeatColumns;
			}
			local0.RenderRepeater(writer, this, local2, this);
			if (local1 != null)
				local1.RenderEndTag(writer);
		}

		protected virtual object SaveViewState() 
		{
			object local0;
			object local1;
			object local2;
			object local3;
			object local4;
			object local5;
			object local6;
			object local7;
			object[] local8;

			local0 = this.SaveViewState();
			if (this.itemStyle == null)
			{
//				goto i-1;
			}
			local1 = this.itemStyle.SaveViewState();
			if (this.selectedItemStyle == null)
			{
//				goto i-1;
			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -