DataKey key;
DataKey oldEditValues;
- private static readonly object PageIndexChangedEvent = new object();
- private static readonly object PageIndexChangingEvent = new object();
- private static readonly object ItemCommandEvent = new object();
- private static readonly object ItemCreatedEvent = new object();
- private static readonly object ItemDeletedEvent = new object();
- private static readonly object ItemDeletingEvent = new object();
- private static readonly object ItemInsertedEvent = new object();
- private static readonly object ItemInsertingEvent = new object();
- private static readonly object ModeChangingEvent = new object();
- private static readonly object ModeChangedEvent = new object();
- private static readonly object ItemUpdatedEvent = new object();
- private static readonly object ItemUpdatingEvent = new object();
+ static readonly object PageIndexChangedEvent = new object();
+ static readonly object PageIndexChangingEvent = new object();
+ static readonly object ItemCommandEvent = new object();
+ static readonly object ItemCreatedEvent = new object();
+ static readonly object ItemDeletedEvent = new object();
+ static readonly object ItemDeletingEvent = new object();
+ static readonly object ItemInsertedEvent = new object();
+ static readonly object ItemInsertingEvent = new object();
+ static readonly object ModeChangingEvent = new object();
+ static readonly object ModeChangedEvent = new object();
+ static readonly object ItemUpdatedEvent = new object();
+ static readonly object ItemUpdatingEvent = new object();
// Control state
int pageIndex;
[Browsable (false)]
public virtual ITemplate EditItemTemplate {
get { return editItemTemplate; }
- set { editItemTemplate = value; RequireBinding (); }
+ set { editItemTemplate = value; }
}
[WebCategoryAttribute ("Styles")]
[Browsable (false)]
public virtual ITemplate EmptyDataTemplate {
get { return emptyDataTemplate; }
- set { emptyDataTemplate = value; RequireBinding (); }
+ set { emptyDataTemplate = value; }
}
[LocalizableAttribute (true)]
[Browsable (false)]
public virtual ITemplate FooterTemplate {
get { return footerTemplate; }
- set { footerTemplate = value; RequireBinding (); }
+ set { footerTemplate = value; }
}
[LocalizableAttribute (true)]
[Browsable (false)]
public virtual ITemplate HeaderTemplate {
get { return headerTemplate; }
- set { headerTemplate = value; RequireBinding (); }
+ set { headerTemplate = value; }
}
[LocalizableAttribute (true)]
[Browsable (false)]
public virtual ITemplate InsertItemTemplate {
get { return insertItemTemplate; }
- set { insertItemTemplate = value; RequireBinding (); }
+ set { insertItemTemplate = value; }
}
[WebCategoryAttribute ("Styles")]
[Browsable (false)]
public virtual ITemplate ItemTemplate {
get { return itemTemplate; }
- set { itemTemplate = value; RequireBinding (); }
+ set { itemTemplate = value; }
}
[BrowsableAttribute (false)]
[DefaultValue (null)]
- /* DataControlPagerCell isnt specified in the docs */
- //[TemplateContainer (typeof(DataControlPagerCell), BindingDirection.OneWay)]
+ [TemplateContainerAttribute (typeof (FormView))]
[PersistenceMode (PersistenceMode.InnerProperty)]
[Browsable (false)]
public virtual ITemplate PagerTemplate {
get { return pagerTemplate; }
- set { pagerTemplate = value; RequireBinding (); }
+ set { pagerTemplate = value; }
}
[DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]
protected virtual FormViewRow CreateRow (int rowIndex, DataControlRowType rowType, DataControlRowState rowState)
{
- FormViewRow row = new FormViewRow (rowIndex, rowType, rowState);
- return row;
+ if (rowType == DataControlRowType.Pager)
+ return new FormViewPagerRow (rowIndex, rowType, rowState);
+ else
+ return new FormViewRow (rowIndex, rowType, rowState);
}
void RequireBinding ()
if (RequiresDataBinding) {
OnDataBinding (EventArgs.Empty);
RequiresDataBinding = false;
- PerformDataBinding (null);
+ InternalPerformDataBinding (null);
MarkAsDataBound ();
OnDataBound (EventArgs.Empty);
}
}
}
- bool showPager = AllowPaging && (dataSource.PageCount > 1);
+ PagerSettings pagerSettings = PagerSettings;
+ bool showPager = AllowPaging && pagerSettings.Visible && (dataSource.PageCount > 1);
Controls.Clear ();
table = CreateTable ();
InitializeRow (headerRow);
table.Rows.Add (headerRow);
}
-
- if (showPager && PagerSettings.Position == PagerPosition.Top || PagerSettings.Position == PagerPosition.TopAndBottom) {
+
+ if (showPager && pagerSettings.Position == PagerPosition.Top || pagerSettings.Position == PagerPosition.TopAndBottom) {
topPagerRow = CreateRow (-1, DataControlRowType.Pager, DataControlRowState.Normal);
InitializePager (topPagerRow, dataSource);
table.Rows.Add (topPagerRow);
table.Rows.Add (footerRow);
}
- if (showPager && PagerSettings.Position == PagerPosition.Bottom || PagerSettings.Position == PagerPosition.TopAndBottom) {
+ if (showPager && pagerSettings.Position == PagerPosition.Bottom || pagerSettings.Position == PagerPosition.TopAndBottom) {
bottomPagerRow = CreateRow (0, DataControlRowType.Pager, DataControlRowState.Normal);
InitializePager (bottomPagerRow, dataSource);
table.Rows.Add (bottomPagerRow);
}
+ OnItemCreated (EventArgs.Empty);
+
if (dataBinding)
DataBind (false);
-
- OnItemCreated (EventArgs.Empty);
return PageCount;
}
if (bt != null) {
IOrderedDictionary values = bt.ExtractValues (Row.Cells [0]);
+ if (values != null)
foreach (DictionaryEntry e in values) {
if (includeKeys || Array.IndexOf (DataKeyNames, e.Key) == -1)
fieldValues [e.Key] = e.Value;