|
发表于 2011-8-15 17:45:04
|
显示全部楼层
使用 自带的 Chart 可显示 温度变化的曲线
public System.Windows.Forms.DataVisualization.Charting.Chart chart_WSD;
public void WSD_图表节点显示设定(string DZ)
{
string DT = " DT >= '" + dateTimePicker_WSD_S.Value.ToString() + "' and DT <='" + dateTimePicker_WSD_E.Value.ToString() + "' ";
apps.DBF.T_温湿度记录.Open(" select * from wsdlist where dz = '" + DZ + "' and " + DT + " order by dt ");
if (apps.DBF.T_温湿度记录.data.Rows.Count > 2)
{
chart_WSD.ChartAreas[0].AxisX.Minimum = DateTime.Parse(apps.DBF.T_温湿度记录.data.Rows[0]["DT"].ToString()).ToOADate();
chart_WSD.ChartAreas[0].AxisX.Maximum = DateTime.Parse(apps.DBF.T_温湿度记录.data.Rows[apps.DBF.T_温湿度记录.data.Rows.Count - 1]["DT"].ToString()).ToOADate();
}
else
{
chart_WSD.ChartAreas[0].AxisX.Minimum = dateTimePicker_WSD_S.Value.ToOADate();
chart_WSD.ChartAreas[0].AxisX.Maximum = dateTimePicker_WSD_E.Value.ToOADate();
}
chart_WSD.ChartAreas[0].AxisX2.Minimum = chart_WSD.ChartAreas[0].AxisX.Minimum;
chart_WSD.ChartAreas[0].AxisX2.Maximum = chart_WSD.ChartAreas[0].AxisX.Maximum;
chart_WSD.Series.Clear();
chart_WSD.DataSource = apps.DBF.T_温湿度记录.Bs;
/* if (checkedListBox_wsd.GetItemChecked(0))//def
{
Chart_Set(ref chart_WSD, "WD0", "平均温度");
Chart_Set(ref chart_WSD, "SD0", "平均温度");
Chart_Set(ref chart_WSD, "WD1", "内温度");
Chart_Set(ref chart_WSD, "SD1", "内温度");
Chart_Set(ref chart_WSD, "WD2", "外温度");
Chart_Set(ref chart_WSD, "SD2", "外温度");
}*/
checkedListBox_wsd.SetItemChecked(0, true);
checkedListBox_wsd.SetItemChecked(1, true);
checkedListBox_wsd.SetItemChecked(2, true);
uC_通用表格_WSD.dGV.Columns["DZ"].HeaderText = "地址";
uC_通用表格_WSD.dGV.Columns["DT"].HeaderText = "时间";
uC_通用表格_WSD.dGV.Columns["XH"].Visible = false;
uC_通用表格_WSD.dGV.Columns["CTRL"].Visible = false;
uC_通用表格_WSD.dGV.Columns["SD"].Visible = false;
uC_通用表格_WSD.dGV.Columns["WD17"].Visible = false;
uC_通用表格_WSD.dGV.Columns["SD17"].Visible = false;
for (int i=0;i<checkedListBox_wsd.Items.Count;i++)
{
string WDS="WD"+i.ToString();
string SDS="SD"+i.ToString();
string TXT = i.ToString();
if (i == 0) TXT = "平均";
if (i == 1) TXT = "内部";
if (i == 2) TXT = "外部";
Chart_Set(ref chart_WSD,WDS,TXT+"温度");
Chart_Set(ref chart_WSD, SDS,TXT + "湿度");
uC_通用表格_WSD.dGV.Columns[WDS].HeaderText = TXT + "温度";
uC_通用表格_WSD.dGV.Columns[SDS].HeaderText = TXT + "湿度";
if (checkedListBox_wsd.GetItemChecked(i))
{
uC_通用表格_WSD.dGV.Columns[WDS].Visible = true;
uC_通用表格_WSD.dGV.Columns[SDS].Visible = true;
chart_WSD.Series[WDS].Enabled = true;
chart_WSD.Series[SDS].Enabled = true;
//chart_WSD
}
else
{
uC_通用表格_WSD.dGV.Columns[WDS].Visible = false;
uC_通用表格_WSD.dGV.Columns[SDS].Visible = false;
chart_WSD.Series[WDS].Enabled = false;
chart_WSD.Series[SDS].Enabled = false;
}
}
} |
|