Приветствую. Есть DataGridView, в которую загружаются данные из БД SQLite:
private void LoadDataFromDB()
{
m_dTable = new DataTable();
String sqlQuery;
if (m_dbConn.State != ConnectionState.Open)
{
MessageBox.Show("Соединение с БД не установлено");
return;
}
try
{
sqlQuery = "SELECT id as №, customer as Заказчик, product as Товар, has_technical_task as 'Тех. задание', " +
" start_date as 'Дата начала', end_date as 'Дата завершения', is_done as Завершён, delay as Просрочка, cost as Стоимость FROM tasks WHERE is_done=0";
m_sqlAdapter = new SQLiteDataAdapter(sqlQuery, m_dbConn);
m_sqlAdapter.Fill(m_dTable);
dataGrid.DataSource = m_dTable.DefaultView;
}
catch (SQLiteException ex)
{
MessageBox.Show("Ошибка: " + ex.Message);
}
}
Поля "Завершён" и "Тех. задание" в БД имеют тип INTEGER, но по сути являются bool-значениями. Так вот вопрос, есть ли какой-нибудь способ сделать так, что бы эти колонки (с индексами 3 и 6) имели тип DataGridViewCheckBoxColumn вместо обычного DataGridViewColumn?
Можно явно задать типы столбцов в DataTable:
m_dTable.Columns.Add("№", typeof(int));
m_dTable.Columns.Add("Заказчик", typeof(string));
m_dTable.Columns.Add("Завершён", typeof(bool));
Естественно, создайте все столбцы с правильными названиями в правильном порядке, совпадающем с sql-запросом.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости