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