Change fields to properties
This commit is contained in:
parent
105c89cda0
commit
295edcaaa9
@ -38,16 +38,16 @@ namespace AbazovViewComponents.Components
|
|||||||
TreeNode? node = treeView.SelectedNode;
|
TreeNode? node = treeView.SelectedNode;
|
||||||
|
|
||||||
var type = typeof(T);
|
var type = typeof(T);
|
||||||
var fields = type.GetFields();
|
var properties = type.GetProperties();
|
||||||
|
|
||||||
var item = Activator.CreateInstance(type);
|
var item = Activator.CreateInstance(type);
|
||||||
|
|
||||||
while (node != null)
|
while (node != null)
|
||||||
{
|
{
|
||||||
var field = fields.FirstOrDefault(x => x.Name == node.Name);
|
var property = properties.FirstOrDefault(x => x.Name == node.Name);
|
||||||
if (field != null)
|
if (property != null)
|
||||||
{
|
{
|
||||||
field.SetValue(item, node.Text);
|
property.SetValue(item, node.Text);
|
||||||
}
|
}
|
||||||
node = node.Parent;
|
node = node.Parent;
|
||||||
}
|
}
|
||||||
@ -63,23 +63,23 @@ namespace AbazovViewComponents.Components
|
|||||||
public void addItems<T>(List<T> items)
|
public void addItems<T>(List<T> items)
|
||||||
{
|
{
|
||||||
var type = typeof(T);
|
var type = typeof(T);
|
||||||
var fields = type.GetFields();
|
var properties = type.GetProperties();
|
||||||
foreach (T item in items)
|
foreach (T item in items)
|
||||||
{
|
{
|
||||||
TreeNodeCollection nodes = treeView.Nodes;
|
TreeNodeCollection nodes = treeView.Nodes;
|
||||||
for (int i = 0; i < hierarchy.Count; i++)
|
for (int i = 0; i < hierarchy.Count; i++)
|
||||||
{
|
{
|
||||||
var field = fields.FirstOrDefault(x => x.Name.Equals(hierarchy[i].Item1));
|
var property = properties.FirstOrDefault(x => x.Name.Equals(hierarchy[i].Item1));
|
||||||
if (field is not null)
|
if (property is not null)
|
||||||
{
|
{
|
||||||
var node = nodes.Find(field.Name, false).FirstOrDefault(x => x.Text == field.GetValue(item).ToString());
|
var node = nodes.Find(property.Name, false).FirstOrDefault(x => x.Text == property.GetValue(item).ToString());
|
||||||
if (node is not null && !hierarchy[i].Item2)
|
if (node is not null && !hierarchy[i].Item2)
|
||||||
{
|
{
|
||||||
nodes = node.Nodes;
|
nodes = node.Nodes;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TreeNode newNode = nodes.Add(field.Name, field.GetValue(item).ToString());
|
TreeNode newNode = nodes.Add(property.Name, property.GetValue(item).ToString());
|
||||||
nodes = newNode.Nodes;
|
nodes = newNode.Nodes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,8 +32,8 @@ namespace AbazovViewComponents.LogicalComponents
|
|||||||
{
|
{
|
||||||
Worksheet worksheet = (Worksheet)workbook.Worksheets.get_Item(1);
|
Worksheet worksheet = (Worksheet)workbook.Worksheets.get_Item(1);
|
||||||
|
|
||||||
FieldInfo? seriesName = typeof(T).GetField(seriesNameField);
|
PropertyInfo? seriesName = typeof(T).GetProperty(seriesNameField);
|
||||||
FieldInfo? value = typeof(T).GetField(valueField);
|
PropertyInfo? value = typeof(T).GetProperty(valueField);
|
||||||
if (seriesName == null || value == null) throw new ArgumentException("Переданного поля не существует");
|
if (seriesName == null || value == null) throw new ArgumentException("Переданного поля не существует");
|
||||||
int columnCount = 2;
|
int columnCount = 2;
|
||||||
foreach(var item in data)
|
foreach(var item in data)
|
||||||
|
Loading…
Reference in New Issue
Block a user