public void InitJobs(IEnumerable <BatchJob> jobs, IPropertyEditableObjectEditor editor, Action <BatchJob> scheduleJob) { _editor = editor; _scheduleJob = scheduleJob; var groups = jobs.GroupBy(p => p.Group, q => q, (group, code) => group).ToList(); foreach (string group in groups) { TreeNode groupNode = new TreeNode(group); groupNode.Tag = new ListViewItem(new string[] { "", group }); var groupJobs = jobs.Where(p => p.Group == group).OrderBy(p => p.Name).ToList(); foreach (var groupJob in groupJobs) { TreeNode node = new TreeNode(groupJob.Name); var task = new TasklistViewItem(groupJob); task.Tag = node; //use to give a reference for updating the treenode node.Tag = task; groupNode.Nodes.Add(node); } this.TreeView.Nodes.Add(groupNode); } }
public PropertyEditorCommand(IPropertyEditableObjectEditor editor) { _editor = editor; }