Отображение изображения в Devexpress DataGrid не работает - PullRequest
0 голосов
/ 16 апреля 2019

Я добавляю новый столбец в Gridview, используя следующий код

   GridColumn attachcolumn = new GridColumn() {

    Name = "TEST",
    FieldName = "TEST",
    UnboundType = DevExpress.Data.UnboundColumnType.Object,
    Caption = "TEST",
    //  ImageIndex = 0,
    ImageAlignment = StringAlignment.Center,
    ColumnEdit = new RepositoryItemPictureEdit(),
    //   ShowButtonMode = ShowButtonModeEnum.ShowOnlyInEditor
  };

  _gvSearchRes.Columns.Add(attachcolumn);

Я настраиваю изображение вот так

 for (int i = 0; i <= (_iDataRowCount - 1); i++)
  {
  _rgv.SetRowCellValue(i, "TEST", new Bitmap(10,10));
  }

В результате я получаю это .. Изображения не отображаются .. Пожалуйста, совет enter image description here

1 Ответ

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

Ваши значения не отображаются, потому что вы используете несвязанный столбец, но нигде не храните свои изображения. GridView не сохраняет сами значения ячеек. Поэтому, когда вы вызываете метод SetRowCellValue, ваши изображения теряются. Вам необходимо сохранить значения несвязанных столбцов вручную. Для этого обработайте событие CustomUnboundColumnData и сохраните изображения, например, в словаре. Пожалуйста, обратитесь к этому примеру для возможной реализации.

Обратите внимание, что если вам просто нужно показать флажки, вам не нужен несвязанный столбец. Для этой задачи вы можете использовать RepositoryItemCheckEdit . Установите для свойства ValueChecked значение «Да», а для свойства ValueUnchecked - «Нет». Затем назначьте этот элемент репозитория вашей колонке. В результате вы увидите соответствующие галочки в столбце. При желании вы можете изменить изображение по умолчанию, используя свойство CheckBoxOptions.

...