+2005-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataTable.cs : don't create DefaultView unless it is required. It
+ significantly improves performance. (i.e. DataView perf. is sick ;-)
+
2005-01-27 Atsushi Enomoto <atsushi@ximian.com>
* DataViewSetting.cs,
private bool _caseSensitive;
private DataColumnCollection _columnCollection;
private ConstraintCollection _constraintCollection;
+ // never access it. Use DefaultView.
private DataView _defaultView;
private string _displayExpression;
_childRelations = new DataRelationCollection.DataTableRelationCollection (this);
_parentRelations = new DataRelationCollection.DataTableRelationCollection (this);
-
- _defaultView = new DataView(this);
}
/// <summary>
[Browsable (false)]
[DataSysDescription ("This is the default DataView for the table.")]
public DataView DefaultView {
- get { return _defaultView; }
+ get {
+ if (_defaultView == null)
+ _defaultView = new DataView (this);
+ return _defaultView;
+ }
}
/// </summary>
IList IListSource.GetList ()
{
- IList list = (IList) _defaultView;
+ IList list = (IList) DefaultView;
return list;
}