主要是数据源转换的问题,比如public class Charting
{
public DataTable DataSource
{
set { _dt = value; }
get { return _dt; }
}
public SeriesCollection SC
{ set { _sc = value; }
get { return _sc; }
}
}
Charting c = new Charting(); //c.DataSource = this.GetDataSource();//
//c.SC = GetSC();
c.CreateStaticPic(this.Chart1); private DataTable GetDataSource()
{
.....
return an instance of DataTable
}
private SeriesCollection GetSC()
{
.....
return an instance of SeriesCollection
}
上面我定义两种类型的数据源,能不能用一个泛型数据源,然后Charting里只定义个泛型的DataSource,既可以接收datatable类型也可以接收SeriesCollection 类型,泛型没怎么用过,熟悉的兄弟 给个大致思路,谢了
{
public DataTable DataSource
{
set { _dt = value; }
get { return _dt; }
}
public SeriesCollection SC
{ set { _sc = value; }
get { return _sc; }
}
}
Charting c = new Charting(); //c.DataSource = this.GetDataSource();//
//c.SC = GetSC();
c.CreateStaticPic(this.Chart1); private DataTable GetDataSource()
{
.....
return an instance of DataTable
}
private SeriesCollection GetSC()
{
.....
return an instance of SeriesCollection
}
上面我定义两种类型的数据源,能不能用一个泛型数据源,然后Charting里只定义个泛型的DataSource,既可以接收datatable类型也可以接收SeriesCollection 类型,泛型没怎么用过,熟悉的兄弟 给个大致思路,谢了
public static T GetOneRowOneColValue<T>( string sql)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = connString;
conn.Open();
SqlCommand command = new SqlCommand(sql, conn);
command.CommandType = CommandType.Text;
SqlDataReader ReaderTemp = command.ExecuteReader();
if (ReaderTemp != null && ReaderTemp.HasRows)
{
ReaderTemp.Read();
T value = (T)ReaderTemp[0];
return value;
}
else
{
throw new Exception("获取单个值失败");
}
}
{
private IDataSource _dataSource; public IDataSource DataSource
{
get
{
return _dataSource;
}
set
{
_dataSource = value;
}
}
public Charting(IDataSource dataSource)
{
this._dataSource = dataSource
}
}IDataSource 你按自已的需要去选择,可以采用ICollection接口,更强一些的是IEnumerable
public class Charting<T>
{
T dataSource;
public T DataSource
{
set { dataSource = value; }
get { return dataSource; }
}
}
Charting<DataTable> c= new Charting<DataTable>();
DataTable dt = chart.DataSource;Charting<SeriesCollection> c= new Charting<SeriesCollection>();
SeriesCollection sc = chart.DataSource;