WinForms dev express bind true / false столбец с флажком - PullRequest
0 голосов
/ 12 апреля 2019

Я работаю над проектом Windows Forms , и у меня есть некоторые данные в XtraGrid.GridControl с этими столбцами:

ID, Description, To Process

Я загружаю эти данные из базы данных, а столбец To Process содержит поле boolean.

Я бы хотел иметь вместо текущих 1 и 0 значения флажок, который будет проверяться, если значение равно 1, и не отмечен, если значение равно 0.

.

Как мне добиться этого с Dev Express 16?


Это то, что я сделал до сих пор:

  • импортировано DevExpress.XtraGrid.GridControl в моей форме Design;
  • добавлены три столбца ID, Description и To Process;
  • заполнил GridControl DataSource из кода позади этим методом:

    private void LoadTableData()
    {
      // initialization
      gcTable.DataSource = null;
    
      string query = " SELECT id, description, to_process FROM test_table ";
      DataTable dt = Utils.ExecuteQuery(query);
    
      if (dt != null && dt.Rows.Count > 0)
      {
        gcTable.DataSource = dt;
      }
    }
    

Как и сейчас, моя таблица заполнена, но в столбце To Process.

указаны значения 1 и 0.

Ответы [ 2 ]

2 голосов
/ 12 апреля 2019

Назначьте RepositoryItemCheckEdit для вашего To Process столбца ColumnEdit и установите его свойства ValueChecked и ValueUnchecked , если это необходимо. Больше информации здесь .

1 голос
/ 12 апреля 2019

Вы можете использовать событие gridView1_CustomRowCellEdit, чтобы изменить хранилище для ячейки вида сетки. Если столбец данных имеет тип bool, ячейки элемента управления сеткой будут отмечены флажками.

dt.Columns["to_process"].DataType = typeof(bool);

Вот пример кода для события CustomRowCellEdit.

    void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
        if (e.Column.FieldName == "to_process")
        {
            DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit repChk = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
            e.RepositoryItem = repChk;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...