I have a DataSet that bound to controls on multiple forms. Currently
an instance is created on each form and Load / Write is handled on
each form.
Instead I would like to have a single instance DataSet that is
accessed and maintained by Data Access Object (DAO) and I would like
that DataSet to be re-used on each form.
The problem I have is that when I drag a DataSet component onto a
form, I am having trouble linking it to the DataSet in the DAO class.
Dao class:
public class MantraXDao
{
private MantraXDao( )
{
m_dataSet = new MantraDataSet( );
m_dataSet.DataSetName = "MantraDataSet";
m_dataSet.Locale = new
System.Globalization.CultureInfo("en-AU");
Load( );
}
#region public interface
public void Load( )
{
m_dataSet.Clear( );
m_dataSet.ReadXml( "MantraX.xml" );
}
public void Write( )
{
m_dataSet.WriteXml( "MantraX.xml" );
}
#endregion
#region properties
public static MantraXDao Instance
{
get
{
if ( m_instance == null )
{
m_instance = new MantraXDao( );
}
return m_instance;
}
}
public MantraDataSet DataSet
{
get
{
return m_dataSet;
}
}
#endregion
#region fields
private static MantraXDao m_instance;
private MantraDataSet m_dataSet;
#endregion
}
// Calling conventions from each form
MantraXDao.Instance.Read // Refresh DataSet
MantraXDao.Instance.Write // Write DataSet
MantraXDao.Instance.DataSet // Obtain DataSet Instance
Cheers Dave