123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- using GanttChartPoC.GanttChart;
- using System;
- using System.Windows.Forms;
- namespace GanttChartPoC
- {
- public partial class SampleForm : Form
- {
- private GanttData _ganttData;
- public SampleForm()
- {
- InitializeComponent();
- }
- private void Reload()
- {
- _ganttData = new GanttData(new[]
- {
- new GanttMachine(new[]
- {
- new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 29, 2, 0, 0)
- , End = new DateTime(2019, 06, 29, 12, 50, 0)
- , Text = "排程文字"
- , Detail =
- $"1详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 29, 13, 0, 0)
- , End = new DateTime(2019, 06, 29, 22, 0, 0)
- , Text = "排程文字"
- , Detail =
- $"2详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 1, 0, 0)
- , End = new DateTime(2019, 06, 30, 6, 50, 0)
- , Text = "排程文字很长长长"
- , Detail =
- $"3详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 7, 0, 0)
- , End = new DateTime(2019, 06, 30, 18, 30, 0)
- , Text = "前一个超出色块要下移避免踩到"
- , Detail =
- $"4详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- ,
- }) {Name = "机台1"}
- , new GanttMachine(new[]
- {
- new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 0, 30, 0)
- , End = new DateTime(2019, 06, 30, 7, 30, 0)
- , Text = "排程文字很长2"
- , Detail =
- $"5详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 8, 30, 0)
- , End = new DateTime(2019, 06, 30, 15, 0, 0)
- , Text = "没被踩到也下移,因为不好计算"
- , Detail =
- $"6详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 16, 0, 0)
- , End = new DateTime(2019, 06, 30, 18, 0, 0)
- , Text = "右边预留一格空间呈现超出的文字"
- , Detail =
- $"7详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 19, 0, 0)
- , End = new DateTime(2019, 06, 30, 21, 0, 0)
- , Text = "自动调整机台行高度"
- , Detail =
- $"8详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- , new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 30, 22, 0, 0)
- , End = new DateTime(2019, 06, 30, 23, 0, 0)
- , Text = "自动调整机台行高度"
- , Detail =
- $"9详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- ,
- }) {Name = "机台2"}
- , new GanttMachine(new GanttMachineTask[] { }) {Name = "机台3无任务"}
- , new GanttMachine(new[]
- {
- new GanttMachineTask
- {
- Begin = new DateTime(2019, 06, 29, 20, 0, 0)
- , End = new DateTime(2019, 06, 30, 7, 0, 0)
- , Text = "排程跨天了"
- , Detail =
- $"A详细信息{Environment.NewLine}第二行{Environment.NewLine}更多行{Environment.NewLine}更多行{Environment.NewLine}更多行"
- }
- ,
- }) {Name = "机台4"}
- ,
- });
- foreach (var machine in _ganttData.Machines)
- {
- foreach (var task in machine.Tasks)
- {
- task.Detail = $"{task.Begin:MM/dd HH:mm} - {task.End:MM/dd HH:mm}";
- }
- }
- MainGanttChart.SetData(_ganttData);
- }
- private void NewToolStripButton_Click(object sender, EventArgs e)
- {
- Reload();
- }
- private void TimelineOffsetTrackBar_ValueChanged(object sender, EventArgs e)
- {
- MainGanttChart.TimelineOffsetHours = TimelineOffsetTrackBar.Value;
- Reload();
- }
- }
- }
|