#c# #entity-framework #linq #datagridview
#c# #entity-framework #linq #datagridview
Вопрос:
У меня есть DataGridView
встроенный linq к сущностям. Я использовал Entity Framework для построения модели в представлении базы данных. Один столбец имеет тип bool, но DataGridView
выдает мне текст «true» или «false». Я хочу отобразить эту информацию в столбце флажков. Но я не могу заставить DataGridView
его изменить.
public partial class view_1
{
public int ID { get; set; }
public string PERSON { get; internal set; }
public bool ACCEPT { get; set; }
}
sEntities context = new sEntities();
var lQuery = from p in context.view_1 select p;
DataGridView1.DataSource = lQuery.ToList();
Я ожидаю, что он будет CheckboxColumn
связан с полем ACCEPT.
Комментарии:
1. Привет, я нашел решение своей проблемы (оно было на моей стороне). У меня есть тип с нулевым
bool?
значением, если я изменяю типbool
, я получаюCheckboxColumn
вместо текста «True» или «False». Спасибо за помощь и исправление.
Ответ №1:
Следующий пример кода демонстрирует, как использовать столбец DataGridViewCheckBoxColumn, чтобы отметить, какие сотрудники находятся вне офиса. Этот пример является частью более крупного примера, доступного в разделе обзор класса DataGridViewComboBoxColumn.
private void AddOutOfOfficeColumn()
{
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
column.HeaderText = ColumnName.OutOfOffice.ToString();
column.Name = ColumnName.OutOfOffice.ToString();
column.AutoSizeMode =
DataGridViewAutoSizeColumnMode.DisplayedCells;
column.FlatStyle = FlatStyle.Standard;
column.ThreeState = true;
column.CellTemplate = new DataGridViewCheckBoxCell();
column.CellTemplate.Style.BackColor = Color.Beige;
}
DataGridView1.Columns.Insert(0, column);
}
Или
Привязка datatable к DataGridView, имеющему столбец bool.
- Добавьте datatable в код:
DataTable dtEmp = new DataTable();
// добавить столбец в datatable
dtEmp.Столбцы.Добавить(«IsMarried», typeof(bool));
dtEmp.Столбцы.Добавить(«EmpID», typeof(int));
dtEmp.Столбцы.Добавить(«EmpName», typeof(string));
dtEmp.Столбцы.Добавить(«EmpCity», typeof(строка));
Здесь мы определили столбец bool, IsMarried .
- Добавление данных:
dtEmp.Rows.Add(false, 111, «Devesh», «GZB»);
dtEmp.Rows.Add(false, 222, «ROLI», «KANPUR»);
dtEmp.Rows.Add(true, 333, «Rajesh», «NOIDa»);
dtEmp.Rows.Add.Добавить(false,444, «NIKHIL», «KANPUR»); - Сетка привязки:
DataGGridView1.DataSource = dtEmp;
- Запуск кода.
После запуска кода мы получим следующий экран:
Флажок автоматически добавляется в datagirdview из-за столбца Bool, определенного в таблицах данных: