Невозможно выбрать значения одного столбца в WinForms DevExpress GridControl

У меня есть DevExpress GridControl с одним GridView по умолчанию для отображения записей в моей форме. Я привязал значения к GridControl из таблицы базы данных SQL. Здесь я хочу выбрать значения одного столбца в виде массива или чего-то подобного, щелкнув мышью с любой комбинацией клавиш. Я погуглил и получил решение для выбора нескольких строк с использованием столбца CheckBox.

Но у меня другой сценарий. Я хотел бы выбрать значения одного столбца в виде массива.

EDIT: я также ищу ответ, который должен быть выделять все значения ячеек при нажатии любой комбинации клавиш в заголовке столбца (аналогично тому, как у нас есть опция в Microsoft Excel ).

Заранее спасибо.


person Balagurunathan Marimuthu    schedule 04.09.2017    source источник


Ответы (1)


Я не думаю, что для этого есть встроенный метод. Вы можете перебирать строки и использовать ColumnView.GetRowCellValue< /a> для доступа к ячейкам из определенного столбца.

Что-то вроде этого должно работать:

//get the number of rows in a target view (gridView for example)
int rowsCount = gridView.DataRowCount;
//allocate an array for column values
var columnValues = new object[rowsCount];
//get column by field name
var column = gridView.Columns["ColumnName"];
//loop through rows and populate column values
for (int rowIndex = 0; rowIndex < rowsCount; rowIndex++)
{
    columnValues[rowIndex] = gridView.GetRowCellValue(rowIndex, column);
}

ОБНОВЛЕНИЕ: вы можете обратиться к официальному примеру в базе знаний DevExpress: Как выбрать ячейки, щелкнув GridBand или заголовок столбца.

Что вам нужно сделать:

Если представление сетки доступно для редактирования, редакторы ячеек могут украсть событие MouseDown. В этом случае вам потребуется перенастроить сетку, как описано в этом обсуждении: GridView — Как поймать щелчок по ячейке?

person default locale    schedule 04.09.2017
comment
Итак, мне нужно использовать приведенное выше решение для события щелчка заголовка ячейки или что-то в этом роде? - person Balagurunathan Marimuthu; 04.09.2017
comment
@BalagurunathanMarimuthu да, вы можете управлять мышью и использовать CalcHitInfo для обработки щелчка по заголовку столбца (проверьте например, этот вопрос службы поддержки). Затем вы можете использовать этот метод для получения значений из столбца. Я не был уверен в вашем конкретном сценарии и решил оставить свой ответ общим. - person default locale; 04.09.2017
comment
Спасибо, я изменил свой вопрос, который также нуждается в дополнительной опции. Возможно ли это сделать? - person Balagurunathan Marimuthu; 04.09.2017
comment
Спасибо за обновленный ответ. Извините за поздний ответ. Позвольте мне попробовать ваше решение. - person Balagurunathan Marimuthu; 04.09.2017