StatusBar update using directive

This commit is contained in:
Sergey Chebotar 2022-04-01 17:55:36 +03:00
parent 64240ee46c
commit 28ba91e2d6
7 changed files with 59 additions and 55 deletions

View File

@ -1,9 +1,10 @@
using ExcelDna.Integration;
using Microsoft.Office.Interop.Excel;
using System;
namespace RehauSku.Interface
{
internal abstract class AbstractBar
internal abstract class AbstractBar : IDisposable
{
protected Application Excel = AddIn.Excel;
@ -14,5 +15,10 @@ namespace RehauSku.Interface
{
AddIn.Excel.StatusBar = false;
}
public void Dispose()
{
AddIn.Excel.OnTime(DateTime.Now + new TimeSpan(0, 0, 5), "ResetStatusBar");
}
}
}

View File

@ -21,11 +21,6 @@
{
Excel.StatusBar = $"{Message} Выполнено {percent:#.#} %";
}
else
{
Excel.StatusBar = false;
}
}
}
}

View File

@ -40,7 +40,6 @@ namespace RehauSku.Interface
}
Excel.StatusBar = sb.ToString();
AddIn.Excel.OnTime(DateTime.Now + new TimeSpan(0, 0, 5), "ResetStatusBar");
}
}
}

View File

@ -28,28 +28,29 @@ namespace RehauSku.PriceListTools
public override void FillTarget()
{
ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(file => file.PositionAmount.Count));
ResultBar = new ResultBar();
foreach (SourcePriceList source in SourceFiles)
using (ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(file => file.PositionAmount.Count)))
using (ResultBar = new ResultBar())
{
TargetFile.Sheet.Columns[TargetFile.AmountCell.Column]
.EntireColumn
.Insert(XlInsertShiftDirection.xlShiftToRight, XlInsertFormatOrigin.xlFormatFromRightOrBelow);
Range newColumnHeader = TargetFile.Sheet.Cells[TargetFile.AmountCell.Row, TargetFile.AmountCell.Column - 1];
newColumnHeader.Value2 = $"{source.Name}";
newColumnHeader.WrapText = true;
foreach (var kvp in source.PositionAmount)
foreach (SourcePriceList source in SourceFiles)
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column - 1, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
}
TargetFile.Sheet.Columns[TargetFile.AmountCell.Column]
.EntireColumn
.Insert(XlInsertShiftDirection.xlShiftToRight, XlInsertFormatOrigin.xlFormatFromRightOrBelow);
FilterByAmount();
ResultBar.Update();
Range newColumnHeader = TargetFile.Sheet.Cells[TargetFile.AmountCell.Row, TargetFile.AmountCell.Column - 1];
newColumnHeader.Value2 = $"{source.Name}";
newColumnHeader.WrapText = true;
foreach (var kvp in source.PositionAmount)
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column - 1, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
}
FilterByAmount();
ResultBar.Update();
}
}
}
}

View File

@ -13,17 +13,18 @@ namespace RehauSku.PriceListTools
public override void FillTarget()
{
ProgressBar = new ProgressBar("Заполняю строки...", Current.PositionAmount.Count);
ResultBar = new ResultBar();
foreach (var kvp in Current.PositionAmount)
using (ProgressBar = new ProgressBar("Заполняю строки...", Current.PositionAmount.Count))
using (ResultBar = new ResultBar())
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
foreach (var kvp in Current.PositionAmount)
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
FilterByAmount();
ResultBar.Update();
FilterByAmount();
ResultBar.Update();
}
}
}
}

View File

@ -23,22 +23,23 @@ namespace RehauSku.PriceListTools
public override void FillTarget()
{
ProgressBar = new ProgressBar("Заполняю строки...", PositionAmount.Count);
ResultBar = new ResultBar();
foreach (var kvp in PositionAmount)
using (ProgressBar = new ProgressBar("Заполняю строки...", PositionAmount.Count))
using (ResultBar = new ResultBar())
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
foreach (var kvp in PositionAmount)
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
FilterByAmount();
ResultBar.Update();
FilterByAmount();
ResultBar.Update();
}
}
private void GetSelected()
{
object[,] cells = Selection.Value2;
object[,] cells = Selection.Value2;
PositionAmount = new Dictionary<Position, double>();
int rowsCount = Selection.Rows.Count;

View File

@ -26,20 +26,21 @@ namespace RehauSku.PriceListTools
public override void FillTarget()
{
ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(x => x.PositionAmount.Count));
ResultBar = new ResultBar();
foreach (SourcePriceList source in SourceFiles)
using (ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(x => x.PositionAmount.Count)))
using (ResultBar = new ResultBar())
{
foreach (var kvp in source.PositionAmount)
foreach (SourcePriceList source in SourceFiles)
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column);
ProgressBar.Update();
foreach (var kvp in source.PositionAmount)
{
FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column);
ProgressBar.Update();
}
}
}
FilterByAmount();
ResultBar.Update();
FilterByAmount();
ResultBar.Update();
}
}
}
}