209 lines
6.9 KiB
C#
209 lines
6.9 KiB
C#
using CreateVisualComponent;
|
|
using Microsoft.VisualBasic.Devices;
|
|
using NotVisualComponent;
|
|
using NotVisualComponent.Models;
|
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Header;
|
|
|
|
namespace WinFormsTest
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
private bool EmptyFill = false;
|
|
int count = 1;
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
CreateList();
|
|
}
|
|
private void CreateList()
|
|
{
|
|
for (int i = 0; i < 10; i++)
|
|
{
|
|
SelectionComponent.Items.Add($"Food ¹{i}");
|
|
}
|
|
}
|
|
|
|
private void ButtonListClear_Click(object sender, EventArgs e)
|
|
{
|
|
SelectionComponent.Clear();
|
|
}
|
|
|
|
private void ButtonListLoad_Click(object sender, EventArgs e)
|
|
{
|
|
SelectionComponent.Clear();
|
|
CreateList();
|
|
}
|
|
private void SelectionComponent_ChangeEvent(object sender, EventArgs e)
|
|
{
|
|
object? selectedItem = SelectionComponent.SelectedElement;
|
|
MessageBox.Show($"Change selected {selectedItem?.ToString()}");
|
|
}
|
|
|
|
private void InputComponent_CheckBoxEvent(object sender, EventArgs e)
|
|
{
|
|
count++;
|
|
if (count % 2 == 0)
|
|
{
|
|
textBoxEvent.Text = "null";
|
|
}
|
|
else
|
|
{
|
|
textBoxEvent.Text = "not null";
|
|
}
|
|
}
|
|
private void ButtonGet_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (InputComponent.Value == null)
|
|
{
|
|
MessageBox.Show($"Pressed Checkbox");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show($"Date: {InputComponent.Value}");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show($"Error: {ex.Message}");
|
|
}
|
|
}
|
|
|
|
private void ButtonSet_Click(object sender, EventArgs e)
|
|
{
|
|
if (EmptyFill)
|
|
{
|
|
InputComponent.Value = DateTime.Now;
|
|
}
|
|
else
|
|
{
|
|
InputComponent.Value = null;
|
|
}
|
|
EmptyFill = !EmptyFill;
|
|
}
|
|
|
|
readonly List<Delivery> delivers = new()
|
|
{
|
|
new Delivery { Id = 0, Name = "Ðàõìàäæîí", DeliveryStatus = "Âûäàí", CountProduct = 5 },
|
|
new Delivery { Id = 1, Name = "Ãóçáûç", DeliveryStatus = "Âûäàí", CountProduct = 3 },
|
|
new Delivery { Id = 2, Name = "Àëåêñàíäð", DeliveryStatus = "Ñôîðìèðîâàíî", CountProduct = 7 },
|
|
new Delivery { Id = 3, Name = "Èíàêåíòèé", DeliveryStatus = "Â ïóòè", CountProduct = 4 },
|
|
new Delivery { Id = 4, Name = "Òàòüÿíà", DeliveryStatus = "Ñôîðìèðîâàíî", CountProduct = 5 }
|
|
};
|
|
|
|
private void CreateTable()
|
|
{
|
|
var config = new ColumnsConfiguratoin();
|
|
|
|
config.Columns.Add(new ColumnConfig
|
|
{
|
|
ColumnName = "Id",
|
|
Width = 10,
|
|
Visible = false,
|
|
PropertyObject = "Id"
|
|
});
|
|
config.Columns.Add(new ColumnConfig
|
|
{
|
|
ColumnName = "Name",
|
|
Width = 150,
|
|
Visible = true,
|
|
PropertyObject = "Name"
|
|
});
|
|
config.Columns.Add(new ColumnConfig
|
|
{
|
|
ColumnName = "DeliveryStatus",
|
|
Width = 250,
|
|
Visible = true,
|
|
PropertyObject = "DeliveryStatus"
|
|
});
|
|
config.Columns.Add(new ColumnConfig
|
|
{
|
|
ColumnName = "CountProduct",
|
|
Width = 200,
|
|
Visible = true,
|
|
PropertyObject = "CountProduct"
|
|
});
|
|
|
|
ListOutputComponent.ConfigColumn(config);
|
|
|
|
foreach (Delivery delivery in delivers)
|
|
{
|
|
for (int i = 0; i < 4; i++)
|
|
{
|
|
ListOutputComponent.AddItem(delivery, delivery.Id, i);
|
|
}
|
|
}
|
|
ListOutputComponent.Update();
|
|
}
|
|
|
|
private void ButtonShowTable_Click(object sender, EventArgs e)
|
|
{
|
|
CreateTable();
|
|
}
|
|
|
|
private void ButtonClearTable_Click(object sender, EventArgs e)
|
|
{
|
|
ListOutputComponent.ClearDataGrid();
|
|
}
|
|
private void ButtonGetString_Click(object sender, EventArgs e)
|
|
{
|
|
Delivery? delivery = ListOutputComponent.GetSelectedObjectInRow<Delivery>();
|
|
if (delivery is null) return;
|
|
MessageBox.Show($"{delivery.Id}-{delivery.Name}-{delivery.DeliveryStatus}-{delivery.CountProduct}");
|
|
}
|
|
private void buttonExcel_Click(object sender, EventArgs e)
|
|
{
|
|
excelTable.CreateDoc(new TableConfig
|
|
{
|
|
FilePath = "C:\\Users\\sshan\\OneDrive\\Desktop\\PathKOP\\Excel1.xlsx",
|
|
Header = "Example",
|
|
Data = new List<string[,]>
|
|
{
|
|
new string[,] {
|
|
{ "1", "1", "1" },
|
|
{ "1", "2", "2" },
|
|
{ "1", "3", "3" }
|
|
},
|
|
new string[,] {
|
|
{ "2", "1", "1" },
|
|
{ "2", "2", "2" },
|
|
{ "2", "3", "3" }
|
|
}
|
|
}
|
|
});
|
|
}
|
|
private void buttonHardExcelSave_Click(object sender, EventArgs e)
|
|
{
|
|
excelHardTable.CreateDoc(new TableWithHeaderConfig<Delivery>
|
|
{
|
|
FilePath = "C:\\Users\\sshan\\OneDrive\\Desktop\\PathKOP\\Excel2.xlsx",
|
|
Header = "Delivers",
|
|
ColumnsRowsWidth = new List<(int Column, int Row)> { (5, 5), (10, 5), (10, 0), (5, 0), (7, 0) },
|
|
Headers = new List<(int ColumnIndex, int RowIndex, string Header, string PropertyName)>
|
|
{
|
|
(0, 0, "Id", "Id"),
|
|
(1, 0, "Name", "Name"),
|
|
(2, 0, "DeliveryStatus", "DeliveryStatus"),
|
|
(3, 0, "CountProduct", "CountProduct"),
|
|
},
|
|
Data = delivers
|
|
});
|
|
}
|
|
private void buttonDiagramSave_Click(object sender, EventArgs e)
|
|
{
|
|
excelDiagram.CreateDoc(new ChartConfig
|
|
{
|
|
FilePath = "C:\\Users\\sshan\\OneDrive\\Desktop\\PathKOP\\Excel3.xlsx",
|
|
Header = "Chart",
|
|
ChartTitle = "Gistogram",
|
|
LegendLocation = NotVisualComponent.Models.Location.Bottom,
|
|
Data = new Dictionary<string, List<(string Name, double Value)>>
|
|
{
|
|
{ "Series 1", new() { ("Orange", 150), ("Apple", 200), ("Lime", 300) } }
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|