示例#1
0
        public void initDiagram()
        {
            //Aktienkurs

            //Spalte Aktienkurs setzen
            foundColumnKurs = StockDataTransferObject.posPrice;

            //Column für Timestamp setzen
            foundColumnTimestamp = StockDataTransferObject.posTimestampPrice;

            //Diagramm erstellen
            Microsoft.Office.Interop.Excel.ChartObjects xlChartsAktienkurs =
                (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing);
            Microsoft.Office.Interop.Excel.ChartObject myChartAktienkurs =
                (Excel.ChartObject)xlChartsAktienkurs.Add(10, 10, 500, 280);
            //Microsoft.Office.Interop.Excel.Chart chartPageAktienkurs = myChartAktienkurs.Chart;
            chartPageAktienkurs = myChartAktienkurs.Chart;

            chartPageAktienkurs.ChartType = Excel.XlChartType.xlLine;

            //Titel für Aktienkursdiagramm setzen
            myChartAktienkurs.Chart.HasTitle        = true;
            myChartAktienkurs.Chart.ChartTitle.Text = "Akienkurs der " + selectedTicker + " Aktie";

            //Tabellenblatt, aus welchem die Daten gezogen werden aus Table-Object auslesen
            wsLiveData = (Excel.Worksheet)workbook.Worksheets["Livedaten"];

            //Aktienkursdiagramm zu Beginn einmal updaten
            updateDiagram(wsLiveData, chartPageAktienkurs, foundColumnTimestamp, foundColumnKurs, tableobject.getContentCount());


            //Volumen

            //Spalte Aktienkurs setzen
            foundColumnVolumen = StockDataTransferObject.posVolume;

            //Column für Timestamp setzen
            foundColumnTimestamp = StockDataTransferObject.posTimestampVolume;

            //Diagramm erstellen
            Microsoft.Office.Interop.Excel.ChartObjects xlChartsVolumen =
                (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing);
            Microsoft.Office.Interop.Excel.ChartObject myChartVolumen =
                (Excel.ChartObject)xlChartsVolumen.Add(530, 10, 500, 280);
            chartPageVolumen = myChartVolumen.Chart;

            chartPageVolumen.ChartType = Excel.XlChartType.xlColumnClustered;

            //Titel für Volumendiagramm setzen
            myChartVolumen.Chart.HasTitle        = true;
            myChartVolumen.Chart.ChartTitle.Text = "Volumen der " + selectedTicker + " Aktie";

            //Tabellenblatt, in welches die Daten geschrieben werden
            wsLiveData = (Excel.Worksheet)workbook.Worksheets["Livedaten"];

            //Volumendiagramm zu Beginn einmal updaten
            updateDiagram(wsLiveData, chartPageVolumen, foundColumnTimestamp, foundColumnVolumen, tableobject.getContentCount());

            //Historische Daten
            if (historicalTableObject != null)
            {
                Microsoft.Office.Interop.Excel.Range        chartRangeHistoDaten;
                Microsoft.Office.Interop.Excel.ChartObjects xlChartsHistoDaten =
                    (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing);
                Microsoft.Office.Interop.Excel.ChartObject myChartHistoDaten =
                    (Excel.ChartObject)xlChartsHistoDaten.Add(10, 300, 1020, 270);
                Microsoft.Office.Interop.Excel.Chart chartPageHistoDaten = myChartHistoDaten.Chart;

                //Tabellenblatt, in welches die Daten geschrieben werden
                Excel.Worksheet wsHistoricalData = (Excel.Worksheet)workbook.Worksheets["Historische Daten"];
                chartRangeHistoDaten = wsHistoricalData.Range[wsHistoricalData.Cells[1, 1], wsHistoricalData.Cells[historicalTableObject.getContentCount() + 1, historicalTableObject.getColumnsToDrawCount()]];

                chartPageHistoDaten.SetSourceData(chartRangeHistoDaten, misValue);
                chartPageHistoDaten.ChartType = Excel.XlChartType.xlLine;

                //Titel das Diagramms für historische Daten setzen
                myChartHistoDaten.Chart.HasTitle        = true;
                myChartHistoDaten.Chart.ChartTitle.Text = "Historische Daten der " + selectedTicker + " Aktie";
            }
        }
示例#2
0
 public void updateMeWithNewData()
 {
     //Update Aktienkursdiagramm
     updateDiagram(wsLiveData, chartPageAktienkurs, StockDataTransferObject.posTimestampPrice, StockDataTransferObject.posPrice, tableobject.getContentCount());
     //Update Volumendiagramm
     updateDiagram(wsLiveData, chartPageVolumen, StockDataTransferObject.posTimestampVolume, StockDataTransferObject.posVolume, tableobject.getContentCount());
 }