Hello,
i try to show the progress of my DTS-Package in a Windows.Forms TreeView control. The nodes are collected, but not visible in my treeview. Any Ideas Using .NET 2.0, VS 2005, SQL 2005 ENT + DEV.
Regards Ralf
private void toolStripButtonExecute_Click(object sender, EventArgs e)
{
HelpClassDts helpClassDts = new HelpClassDts(treeViewStatus);
treeViewStatus.Nodes.Clear();
helpClassDts.PackagePath = dataTableDtsPaket.Rows[currentDtsPaket]["PaketPfad"].ToString();
helpClassDts.LoadPackage();
helpClassDts.ExecutePackage();
treeViewStatus.Refresh();
}
/******************************************************/
/******************************************************/
/******************************************************/
public class HelpClassDts
{
private Microsoft.SqlServer.Dts.Runtime.Application application;
private Package package;
private HelpClassDtsEvent helpClassDtsEvent;
private string packagePath;
public string PackagePath
{
get
{
return packagePath;
}
set
{
packagePath = value;
}
}
public HelpClassDts(TreeView treeViewParam)
{
application = new Microsoft.SqlServer.Dts.Runtime.Application();
package = new Package();
helpClassDtsEvent = new HelpClassDtsEvent(treeViewParam);
}
public void LoadPackage()
{
package = application.LoadPackage(packagePath, null);
}
public void ExecutePackage()
{
DTSExecResult dTSExecResult = package.Execute(null, null, helpClassDtsEvent, null, null);
}
}
/******************************************************/
/******************************************************/
/******************************************************/
class HelpClassDtsEvent : DefaultEvents
{
private TreeView treeView;
public HelpClassDtsEvent(TreeView treeViewParam)
{
treeView = treeViewParam;
}
public override void OnProgress(
TaskHost taskHost,
string progressDescription,
int percentComplete,
int progressCountLow,
int progressCountHigh,
string subComponent,
ref bool fireAgain)
{
TreeNode NewNode = new TreeNode();
NewNode.Text = progressDescription + percentComplete.ToString();
NewNode.ImageIndex = 0;
NewNode.SelectedImageIndex = 0;
treeView.Nodes.Add(NewNode);
}
}

Show DefaultEvents.OnProgress in a TreeView Control