Suppose you have controls that can be databound to two different DataSets, depending on processing
needs. How can you tell, at runtime, which DataSet the control is bound to? Since there are
two different DataBinding syntaxes, there are actually two different comparisons you need to make:
DataSet ds = new DataSet();
if (this.txtTest.DataBindings.Count > 0)
{
if (this.txtTest.DataBindings["Text"].DataSource is DataTable)
ds = ((DataTable)this.txtTest.DataBindings["Text"].DataSource).DataSet;
else
if (this.txtTest.DataBindings["Text"].DataSource is DataSet)
ds = (DataSet)this.txtTest.DataBindings["Text"].DataSource;
}
if (ds.Equals(this.MyFirstDataSet))
MessageBox.Show("Number One");
if (ds.Equals(this.MySecondDataSet))
MessageBox.Show("Number Two");
We could take this a step further and have a method call that returns a boolean value.
public bool BoundToDataSet(DataSet dsTest)
{
DataSet ds = new DataSet();
if (this.txtTest.DataBindings.Count > 0)
{
if (this.txtTest.DataBindings["Text"].DataSource is DataTable)
ds = ((DataTable)this.txtTest.DataBindings["Text"].DataSource).DataSet;
else
if (this.txtTest.DataBindings["Text"].DataSource is DataSet)
ds = (DataSet)this.txtTest.DataBindings["Text"].DataSource;
}
return ds.Equals(dsTest);
}
from a solution provided by Çetin Basöz in Message #1051904
|