Exemplo n.º 1
0
        /// <summary>
        /// 计算
        /// </summary>
        private void LoadDataAysnc()
        {
            AsyncWaitForm.Instance.AsyncShow("开始计算", "正在进行排料计算",
                                             delegate(AsyncWaitForm exfrm)
            {
                exfrm.SetMsgAndProgress("正在进行排料计算", 10);
                result = MaterialsBacktrack.CountList(entList);
                if (result.Count < 0)
                {
                    return;
                }
                ResultTable.Clear();
                exfrm.SetMsgAndProgress("计算完成", 90);
            }, delegate
            {
                AsyncWaitForm.Instance.SetMsgAndProgress(100);
                foreach (var ent2 in result)
                {
                    if (ent2.MyEnt.Qty <= 0)
                    {
                        continue;
                    }
                    DataRow newRow = ResultTable.NewRow();
                    newRow["Key"]  = ent2.Key;
                    newRow["Key1"] = ent2.Key;
                    if (ent2.Area == 0)
                    {
                        ent2.Area = ent2.MyEnt.Area * ent2.MyEnt.Qty;
                    }
                    newRow["AreaSum"] = ent2.Area;
                    newRow["Length"]  = ent2.MyEnt.Length;
                    newRow["Qty"]     = ent2.MyEnt.Qty;
                    newRow["Area"]    = ent2.MyEnt.Area;
                    newRow["Depth"]   = ent2.MyEnt.Depth;
                    ResultTable.Rows.Add(newRow);
                    //lbView.Items.Add(ent2.MainKey + ":" + ent2.MyEnt.Length + "_" + ent2.MyEnt.Qty + "条" + "_" + ent2.MyEnt.Area);
                }

                gcResult.DataSource = ResultTable;
                SetSumColumns();
            });
            //result = CountList(entList);
            //lbView.Items.Clear();
        }
Exemplo n.º 2
0
 /// <summary>
 /// 计算
 /// </summary>
 private void LoadDataAysnc()
 {
     AsyncWaitForm.Instance.AsyncShow("开始计算", "正在进行排料计算",
                                      delegate(AsyncWaitForm exfrm)
     {
         exfrm.SetMsgAndProgress("正在进行排料计算", 10);
         result = MaterialsBacktrack.CountList(entList);
         if (result.Count < 0)
         {
             return;
         }
         ResultTable.Clear();
         exfrm.SetMsgAndProgress("计算完成", 90);
     }, delegate
     {
         AsyncWaitForm.Instance.SetMsgAndProgress(100);
         foreach (var ent2 in result)
         {
             if (ent2.MyEnt.Qty <= 0)
             {
                 continue;
             }
             DataRow newRow = ResultTable.NewRow();
             newRow["Key"]  = ent2.Key;
             newRow["Key1"] = ent2.Key;
             if (ent2.Area == 0)
             {
                 ent2.Area = ent2.MyEnt.Area * ent2.MyEnt.Qty;
             }
             newRow["AreaSum"] = ent2.Area;
             newRow["Length"]  = ent2.MyEnt.Length;
             newRow["Qty"]     = ent2.MyEnt.Qty;
             newRow["Area"]    = ent2.MyEnt.Area;
             newRow["Depth"]   = ent2.MyEnt.Depth;
             newRow["Path"]    = string.IsNullOrEmpty(ent2.MyEnt.Path) ? ent2.MyEnt.Path : AppDomain.CurrentDomain.BaseDirectory + ent2.MyEnt.Path;
             ResultTable.Rows.Add(newRow);
         }
     });
     btnEdit_ItemClick(null, null);
 }