vb.netWindowsアプリケーションでガントチャートアプリケーションを開発することを探しています。無料のサードパーティツールやデモアプリケーションがあるかどうかを知りたいので、それについて学ぶことができます。
質問する
12155 次
2 に答える
3
VB.NETのGDIAPIを使用して、ガントチャートを簡単に描画できます。codeprojectの記事を見てください。
于 2012-08-30T11:27:06.100 に答える
2
System.Windows.Forms.DataVisualization.Chartingを使用してこれを行うことができます。ここにいくつかのサンプルコードがあります。
Dim newSeries As New Series
openConn()'opens the connection
openRS("SELECT * FROM Data")'pull data from database
Do Until rs.EOF
newSeries = New Series'create a new dataSeries
yPlot1 = CDbl(rs.Fields("Start Date").Value.ToOADate())'set beginning of bar
yPlot2 = CDbl(DateAdd(DateInterval.Day, rs.Fields("Duration").Value, rs.Fields("Start Date").Value).ToOADate())'set end of bar
newSeries.ChartType = SeriesChartType.RangeBar
newSeries.YValuesPerPoint = 2
newSeries.CustomProperties = "DrawSideBySide=false"
xOrdinal = rs.Fields("Ordinal").Value
newSeries.Points.AddXY(xOrdinal, yPlot1, yPlot2)
newSeries.Points(0).ToolTip = rs.Fields("Task Name").Value.ToString
newSeries.Name = rs.Fields("Task Name").Value.ToString
newSeries.Points(0).Color = Color.FromKnownColor(DirectCast([Enum].Parse(GetType(KnownColor), CStr(rs.Fields("Color").Value.ToString)), KnownColor))
newSeries.Points(0).AxisLabel = rs.Fields("Ordinal Name").Value.ToString
seriesList.Add(newSeries)
rs.MoveNext()
Loop
rs = Nothing
cn.Close()
cn = Nothing
Chart1.Series.Clear()
For Each plotSeries As Series In seriesList
Chart1.Series.Add(plotSeries)
Next
Chart1.ChartAreas(0).AxisX.Interval = 1
Chart1.ChartAreas(0).AxisY.Interval = 7
Chart1.ChartAreas(0).AxisX.IsReversed = True
Chart1.ChartAreas(0).AxisY.IsStartedFromZero = False
Chart1.ChartAreas(0).AxisY.IsMarginVisible = False
Chart1.ChartAreas(0).AxisY.IntervalType = DateTimeIntervalType.Days
Chart1.ChartAreas(0).AxisY.Minimum = CDbl(#4/1/2012#.ToOADate())
Chart1.ChartAreas(0).AxisY.Maximum = CDbl(#6/30/2012#.ToOADate())
Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "ddd M/d"
Chart1.Update()
フォーム(Chart1)にチャートコントロールが必要になります。そしてもちろん、あなたのデータは異なるかもしれませんが、これはあなたが欠けているステップをあなたに与えるかもしれません。詳細については、次のドキュメントを確認することもできます。
http://wiki.visualwebgui.com/pages/images/6/6a/MSChartsGanttChartAndPrinting.pdf
于 2012-08-30T13:29:36.710 に答える