System.Web.UI.WebControls.GridView.CreateColumns C# (CSharp) Method

CreateColumns() protected method

protected CreateColumns ( PagedDataSource dataSource, bool useDataSource ) : ICollection
dataSource PagedDataSource
useDataSource bool
return ICollection
		protected virtual ICollection CreateColumns (PagedDataSource dataSource, bool useDataSource)
		{
			bool autoGenerate = AutoGenerateColumns;

			if (autoGenerate) {
				IAutoFieldGenerator fieldGenerator = ColumnsGenerator;
				if (fieldGenerator != null)
					return fieldGenerator.GenerateFields (this);
			}
			
			ArrayList fields = new ArrayList ();
			
			if (AutoGenerateEditButton || AutoGenerateDeleteButton || AutoGenerateSelectButton) {
				CommandField field = new CommandField ();
				field.ShowEditButton = AutoGenerateEditButton;
				field.ShowDeleteButton = AutoGenerateDeleteButton;
				field.ShowSelectButton = AutoGenerateSelectButton;
				fields.Add (field);
			}

			fields.AddRange (Columns);
			
			if (autoGenerate) {
				if (useDataSource)
					autoFieldProperties = CreateAutoFieldProperties (dataSource);
	
				if (autoFieldProperties != null) {
					foreach (AutoGeneratedFieldProperties props in autoFieldProperties)
						fields.Add (CreateAutoGeneratedColumn (props));
				}
			}
			
			return fields;
		}