Выбрать все строки из столбца DataTable

359
09 апреля 2017, 00:16

Приветствую. У меня на форме есть DataGridView заполненный таблицей из БД. Нужно получить все Name в отдельный List<> но не из DataGridView а напрямую из объекта DataTable. Такое возможно?

Метод который возвращает DataTable :

public DataTable materialsNEW()
{
    DataTable table = new DataTable();
    try
    {
        using (SqlConnection conn = new SqlConnection(connectionString))
        {
            string get = "select * from Materials";
            SqlCommand comd = new SqlCommand(get, conn);
            DataTable mattable = new DataTable();
            SqlDataAdapter adapter = new SqlDataAdapter(comd);
            adapter.Fill(mattable);
            conn.Open();
            table = mattable;
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, ex.Source);
    }
    return table;
}
Answer 1

Как-то так должно быть:

List<string> names = new List<string>();
foreach(DataRow row in table.Rows)
    names.Add(row["Name"].ToString());

После того, как заполните свой DataTable table - напишите этот код и получите что нужно.

Answer 2
...
List<string> names = new List<string>();
foreach(DataRow row in mattable.Rows)
  names.Add(System.Convert.ToString(row["Name"]));
READ ALSO
Зачем тут тип dynamic?

Зачем тут тип dynamic?

В C# можно создавать счетчик итераций типа dynamic

200
Убрать Смещение StackPanel

Убрать Смещение StackPanel

До начала ввода текста

208
Обновление Dictionary с опозданием - C#

Обновление Dictionary с опозданием - C#

Есть вот такой метод

197
Миграция в БД С# Core

Миграция в БД С# Core

Не получается произвести миграцию из модели в БДУстанавливаю через Nuget

343