У меня есть DataTable, который имеет сто строк и много столбцов. Один из столбцов - «ImageThumbnail» Я хочу отобразить миниатюру в одном элементе управления по форме. Этот элемент управления ожидает в качестве источника изображения «ImageList». Мне нравится, что мой элемент управления ImageList заполняется из столбца «ImageThumbnail» набора данных. Я мог бы сделать это, используя цикл через все строки в DataTable, но я считаю, что должен быть эффективный метод.Как заполнить ImageList из определенного столбца DataTable?
3
A
ответ
0
После того, как я попробовал это для себя, мне кажется, что это сводится к попытке получить значения из одного DataColumn
эффективным способом. После того, как я это понял, я нашел this post, в котором предлагалось 2 решения. Я применил это к моему испытанию для ImageLists
и я включил мой код ниже:
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("Image", typeof(Image));
dt.Rows.Add("Img1", Properties.Resources.Img_1);
dt.Rows.Add("Img2", Properties.Resources.Img_2);
dt.Rows.Add("Img3", Properties.Resources.Img_3);
dt.Rows.Add("Img4", Properties.Resources.Img_4);
ImageList imgList = new ImageList();
//// Loop Approach:
//for (int idx = 0; idx < dt.Rows.Count; idx++)
//{
// imgList.Images.Add(dt.Rows[idx]["Image"] as Image);
//}
// LINQ Approach:
imgList.Images.AddRange(dt.Rows.Cast<DataRow>().Select(row => row["Image"] as Image).ToArray());
На мой взгляд, подход LINQ является более емким, но подход Loop, возможно быстрее понять и поэтому более удобным для чтения. Я не уверен, какой из них будет более эффективным, или если они оба получат аналогичный IL-код. Тем не менее, подход LINQ использует встроенные методы AddRange
и ToArray
, которые могут включать в себя повышение эффективности (или, возможно, в будущем).
Смежные вопросы
- 1. Как скрыть сортировку определенного столбца в datatable?
- 2. Как пронумеровать значения определенного столбца в datatable?
- 3. Как заполнить datatable из SortedList?
- 4. Заполнить DataTable из LinqDataSource
- 5. Возврат строк из определенного имени столбца из DataTable - C#
- 6. Извлечение столбца из DataTable
- 7. Как заполнить WPat Datagrid из Datatable?
- 8. Обновление столбца DataTable из другого DataTable
- 9. Получение определенного элемента строки из данных datatable
- 10. ADO.net ASP.net Как заполнить datatable?
- 11. Как заполнить данные в datatable из списка переменных данных
- 12. Как заполнить конкретный столбец DataTable со значениями
- 13. PNG изображение из imagelist
- 14. как заполнить каждый столбец в datatable
- 15. Как получить список значений столбца из DataTable?
- 16. Как получить значение столбца из Datatable
- 17. Как получить фамилию столбца из DataTable
- 18. Как получить конкретное значение столбца из DataTable?
- 19. Как заполнить столбец из другого столбца?
- 20. Заполнить DataTable записями из базы данных?
- 21. Автоматическое заполнение столбца DataTable
- 22. Заполнить DataGridViewComboBoxColumn из DataTable и перечисления
- 23. Как заполнить DataTable B, основанный на выбор значения столбца в DataTable
- 24. Ошибка в ImageList в реализации .NET ImageList?
- 25. Добавление столбца HyperLink к GridView из DataTable
- 26. Как заполнить ListBox, используя данные столбца DataGridVeiw?
- 27. Создать dataframe из определенного столбца
- 28. Содержимое DIsplay из определенного столбца
- 29. получить значение из определенного столбца
- 30. Как написать из определенного столбца в оболочке?
Вы хотите одновременно отображать изображения из всех строк в одном элементе управления? Что вы пробовали? Покажите свой код. –