|
|
@@ -543,6 +543,12 @@ namespace System.Web.UI.WebControls
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ [BrowsableAttribute(false)]
|
|
|
+ public IAutoFieldGenerator ColumnsGenerator {
|
|
|
+ get;
|
|
|
+ set;
|
|
|
+ }
|
|
|
+
|
|
|
[DefaultValueAttribute (null)]
|
|
|
[WebCategoryAttribute ("Data")]
|
|
|
[TypeConverter (typeof(StringArrayConverter))]
|
|
|
@@ -1097,6 +1103,14 @@ namespace System.Web.UI.WebControls
|
|
|
|
|
|
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) {
|
|
|
@@ -1109,7 +1123,7 @@ namespace System.Web.UI.WebControls
|
|
|
|
|
|
fields.AddRange (Columns);
|
|
|
|
|
|
- if (AutoGenerateColumns) {
|
|
|
+ if (autoGenerate) {
|
|
|
if (useDataSource)
|
|
|
autoFieldProperties = CreateAutoFieldProperties (dataSource);
|
|
|
|