У меня есть список данных с некоторым свойством. Я хочу преобразовать данные списка в таблицу данных. Как преобразовать список в datable.Как преобразовать список в таблицу данных
ответ
Просто добавьте эту функцию и вызвать его, он будет конвертировать список для DataTable.
public static DataTable ToDataTable<T>(List<T> items)
{
DataTable dataTable = new DataTable(typeof(T).Name);
//Get all the properties
PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in Props)
{
//Defining type of data column gives proper data table
var type = (prop.PropertyType.IsGenericType && prop.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>) ? Nullable.GetUnderlyingType(prop.PropertyType) : prop.PropertyType);
//Setting column names as Property names
dataTable.Columns.Add(prop.Name, type);
}
foreach (T item in items)
{
var values = new object[Props.Length];
for (int i = 0; i < Props.Length; i++)
{
//inserting property values to datatable rows
values[i] = Props[i].GetValue(item, null);
}
dataTable.Rows.Add(values);
}
//put a breakpoint here and check datatable
return dataTable;
}
как назвать эту функцию. Спасибо за ответ – user2660267
Предположим, у вас есть список User.List
Нужно ли добавлять пространство имен для работы этого метода? PropertyInfo [] не распознается. –
вы можете использовать этот метод расширения и называть его следующим образом.
DataTable dt = YourList.ToDataTable();
public static DataTable ToDataTable<T>(this List<T> iList)
{
DataTable dataTable = new DataTable();
PropertyDescriptorCollection propertyDescriptorCollection =
TypeDescriptor.GetProperties(typeof(T));
for (int i = 0; i < propertyDescriptorCollection.Count; i++)
{
PropertyDescriptor propertyDescriptor = propertyDescriptorCollection[i];
Type type = propertyDescriptor.PropertyType;
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>))
type = Nullable.GetUnderlyingType(type);
dataTable.Columns.Add(propertyDescriptor.Name, type);
}
object[] values = new object[propertyDescriptorCollection.Count];
foreach (T iListItem in iList)
{
for (int i = 0; i < values.Length; i++)
{
values[i] = propertyDescriptorCollection[i].GetValue(iListItem);
}
dataTable.Rows.Add(values);
}
return dataTable;
}
Именно то, что я искал! –
Это дает мне числовые значения для 'List' типа' string'. – Jogi
static DataTable ConvertListToDataTable(List<string[]> list)
{
// New table.
DataTable table = new DataTable();
// Get max columns.
int columns = 0;
foreach (var array in list)
{
if (array.Length > columns)
{
columns = array.Length;
}
}
// Add columns.
for (int i = 0; i < columns; i++)
{
table.Columns.Add();
}
// Add rows.
foreach (var array in list)
{
table.Rows.Add(array);
}
return table;
}
protected void Button1_Click(object sender, EventArgs e)
{
List<string[]> list = new List<string[]>();
list.Add(new string[] { "Column 1", "Column 2", "Column 3" });
list.Add(new string[] { "Row 2", "Row 2" });
list.Add(new string[] { "Row 3" });
// Convert to DataTable.
DataTable table = ConvertListToDataTable(list);
dataGridView1.DataSource = table;
}
Попробуйте
'ConvertListToDataTable (...);' не известно в dotnet, если вы не заходите на эту страницу, где вы можете найти код для этого метода 'http://social.msdn.microsoft.com/Forums/vstudio/en-US/6ffcb247 -77fb-40b4-bcba-08ba377ab9db/превращающего а-list- – Bellash
- 1. Как преобразовать в таблицу в список
- 2. Как преобразовать список с заголовками в таблицу
- 3. Как преобразовать неупорядоченный список в таблицу?
- 4. Как преобразовать сетку данных в таблицу данных?
- 5. Как преобразовать таблицу в кадр данных
- 6. Как преобразовать csv в таблицу базы данных
- 7. Преобразовать список питона в HTML таблицу
- 8. преобразовать строку данных в список
- 9. Как преобразовать список строк в фрейм данных?
- 10. Как преобразовать конкретные столбцы данных в список?
- 11. как преобразовать список данных в формате JSON
- 12. Как преобразовать список таблиц в одну большую таблицу в R
- 13. преобразовать таблицу в SAS
- 14. Как преобразовать таблицу HTML в список с помощью Thymeleaf
- 15. Как преобразовать обычную таблицу в CKEditor таблицу
- 16. Как преобразовать горизонтальную таблицу в вертикальную таблицу?
- 17. Как преобразовать таблицу SQL в таблицу указателей?
- 18. Как преобразовать вертикальную таблицу в горизонтальную таблицу?
- 19. Как преобразовать список чисел в список экспонентов?
- 20. R: Невозможно преобразовать таблицу в кадр данных
- 21. Преобразовать таблицу R данные столбец из JSON в таблицу данных
- 22. Как преобразовать yaml в таблицу?
- 23. как преобразовать список текста в кадр данных в R
- 24. Как преобразовать список в DataTable
- 25. Как преобразовать список лиц в список?
- 26. Как преобразовать таблицу словаря в таблицу списка в python?
- 27. как преобразовать список DataTable
- 28. Преобразовать или преобразовать список список
- 29. Как преобразовать таблицу базы данных в XML в ASP.NET MVC4
- 30. преобразовать список в фрейм данных в R
Не могли бы вы дать нам информацию о типе объектов в списке? –