zoukankan      html  css  js  c++  java
  • C#异步Tree

     private void Tree_AfterExpand(object sender, TreeViewEventArgs e)
            {
                int FileID = int.Parse(((ListItem)comboxFile.Items[comboxFile.SelectedIndex]).ID);
                BackgroundWorker bw = new BackgroundWorker();
                bw.DoWork += new DoWorkEventHandler(bw_DoWork);
                bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);

                object[] oArgs = new object[] { e.Node, FileID };
                bw.RunWorkerAsync(oArgs);
                bomTree.SelectedNode = e.Node;
            }

      private void bw_DoWork(object sender, DoWorkEventArgs e)

            {
                object[] oArgs = e.Argument as object[];
                TreeNode tn = oArgs[0as TreeNode;
                int FileID = int.Parse(oArgs[1].ToString());
                DataAccess da = new DataAccess();
                DataTable dtChildren = null;
                DataTable dgvlist = null;
                if (tn.Tag != null)
                {
                    dtChildren = new DataTable();
                    dtChildren = GetData();
                    dgvlist = new DataTable();
                    dgvlist =GetData(); 
                }
                else
                {
                    dtChildren = new DataTable();
                    dtChildren =da.SearchChildren(FileID, tn.Text + "%");
                }

                e.Result = new object[] { tn, dtChildren, dgvlist };
            }
     private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
            {
                object[] oResult = e.Result as object[];
                TreeNode tNodeParent = oResult[0as TreeNode;
                DataTable dtChildren = oResult[1as DataTable;
                DataTable dgvlist = oResult[2as DataTable;
                ArrayList arr = new ArrayList();
                
               
                //dosomething

            } 

  • 相关阅读:
    《Web 开发基础》专题系列
    《.NET 编程结构》专题汇总(C#)
    .NET Core:使用BarTender
    .NET Core:过滤器
    .NET Core:中间件
    .NET Core:Api版本控制
    .NET Core:Token认证
    .NET Core:SignalR
    .NET Core:跨域
    .NET Core:Json和XML
  • 原文地址:https://www.cnblogs.com/keepsilence/p/2465929.html
Copyright © 2011-2022 走看看