Возможно ли вывести в таблицу сложный объект Person со следующими столбцами:
Person.Name | Person.Finance.BankName | Person.Finance.Balance
class Person
{
public string Name {get;set;}
public FinanceData Finance {get;set;}
}
class FinanceData
{
public string BankName {get;set;}
public double Balance {get;set;}
//Кстати, если в Balance хранятся деньги, то ни в коем случае нельзя
//использовать тип double. Только decimal.
}
Можно ли это вывести в таблицу без написания класса обертки? Если возможно, то как это сделать?
это с привязкой
private void Form1_Load(object sender, EventArgs e)
{
List<Person> people = new List<Person>() {
new Person(){
Name = "Абраах",
Finance = new FinanceData() { Balance = 3.1, BankName = "asd" }
},
new Person(){
Name = "Ибрагим",
Finance = new FinanceData() { Balance = 5.6, BankName = "я" }
},
new Person(){
Name = "Придурок",
Finance = new FinanceData() { Balance = 3.3, BankName = "gfds" }
}
};
BindingSource bs = new BindingSource(); bs.DataSource = serializePeople(people);
dataGridView1.DataSource = bs;
}
private DataTable serializePeople(List<Person> people)
{
DataTable returnTable = new DataTable("Table");
returnTable.Columns.Add(new DataColumn("Name"));
returnTable.Columns.Add(new DataColumn("FinanceBalance"));
returnTable.Columns.Add(new DataColumn("FinanceBankName"));
foreach (Person person in people)
{
returnTable.AcceptChanges();
DataRow row = returnTable.NewRow();
row[0] = person.Name;
row[1] = person.Finance.Balance.ToString();
row[2] = person.Finance.BankName;
returnTable.Rows.Add(row);
}
return returnTable;
}
List<Person> people = new List<Person>() {
new Person(){
Name = "Абраах",
Finance = new FinanceData() { Balance = 3.1, BankName = "asd" }
},
new Person(){
Name = "Ибрагим",
Finance = new FinanceData() { Balance = 5.6, BankName = "я" }
},
new Person(){
Name = "Придурок",
Finance = new FinanceData() { Balance = 3.3, BankName = "gfds" }
}
};
people.ForEach(p => { dataGridView1.Rows.Add(p.Name, p.Finance.Balance.ToString(), p.Finance.BankName); });
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал проект в VS17, добавил станадртный сервер(Express):
Разбираю BitVector32Возник такой вопрос: зачем смешивают использование int и uint? В том же самом конструкторе, например
Есть у нас ListBox, в который через ItemsSource мы загружаем коллекцию объектовУ этих объектов есть свойство Title, и нужно чтобы по этому свойству и происходил...
Делегат это ссылка на методТо есть если мы делаем элементарную реализацию типа такой: