[DefaultEventAttribute ("SelectedIndexChanged")]
[AspNetHostingPermissionAttribute (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public class GridView: CompositeDataBoundControl, ICallbackEventHandler, ICallbackContainer, IPostBackEventHandler, IPostBackContainer
+ public class GridView: CompositeDataBoundControl, ICallbackEventHandler, ICallbackContainer, IPostBackEventHandler, IPostBackContainer, IPersistedSelector
{
Table table;
GridViewRowCollection rows;
}
}
+ [BrowsableAttribute(false)]
+ public IAutoFieldGenerator ColumnsGenerator {
+ get;
+ set;
+ }
+
[DefaultValueAttribute (null)]
[WebCategoryAttribute ("Data")]
[TypeConverter (typeof(StringArrayConverter))]
return null;
}
}
+
+ [MonoTODO]
+ [BrowsableAttribute(false)]
+ public virtual DataKey SelectedPersistedDataKey {
+ get; set;
+ }
+
+ [MonoTODO]
+ DataKey IPersistedSelector.DataKey {
+ get { return SelectedPersistedDataKey; }
+ set { SelectedPersistedDataKey = value; }
+ }
[BindableAttribute (true)]
[DefaultValueAttribute (-1)]
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) {
fields.AddRange (Columns);
- if (AutoGenerateColumns) {
+ if (autoGenerate) {
if (useDataSource)
autoFieldProperties = CreateAutoFieldProperties (dataSource);