if (table != null) {
list = new DataView (table);
+ ((DataView) list).ListChanged += new ListChangedEventHandler (ListChangedHandler);
table.Columns.CollectionChanged += new CollectionChangeEventHandler (MetaDataChangedHandler);
table.ChildRelations.CollectionChanged += new CollectionChangeEventHandler (MetaDataChangedHandler);
table.ParentRelations.CollectionChanged += new CollectionChangeEventHandler (MetaDataChangedHandler);
public override object Current {
get {
+ if (list.Count == 0)
+ return null;
return list [listposition];
}
}
return String.Empty;
}
- [MonoTODO ("Not totally sure how this works, its doesn't seemt to do a pull/push like i originally assumed")]
protected override void UpdateIsBinding ()
{
UpdateItem ();
MetaDataChanged (this, EventArgs.Empty);
}
+ private void ListChangedHandler (object sender, ListChangedEventArgs e)
+ {
+ OnItemChanged (new ItemChangedEventArgs (-1));
+ UpdateIsBinding ();
+ }
+
public event ItemChangedEventHandler ItemChanged;
public event EventHandler MetaDataChanged;
}