Позвольте пользователю сортировать столбцы от запроса LINQ в DataGridView

попробуйте:

document.querySelectorAll("input[name=\"" + data['res'] + "\"]");
8
задан Eric 14 December 2009 в 18:47
поделиться

4 ответа

Мой подход по умолчанию должен скопировать все в DataTable и связать DataGridView с этим.

Очевидно, это не будет работать хорошо, если Вы захотите добавить подкачку страниц.

3
ответ дан 5 December 2019 в 13:02
поделиться

Необходимо получить результаты запроса как AsEnumerable ().

Тусклый QueryReOrder = (От Q В Запросе _, Где ((0 - Q.Qualifier) / cmbTSStakeValue. Текст) <= 0.1 _ Порядок Q.Qualifier Descending _ Выбор Q).AsEnumerable ()

Я должен упомянуть, что обычно нахожусь в C#, таким образом, возможно, что необходимо будет варьироваться синтаксис немного.

2
ответ дан 5 December 2019 в 13:02
поделиться

Вам нужно получить результаты LINQ-запроса во что-то, поддерживающее функцию сортировки. Обычно это делается путем создания класса из BindingList и реализации функциональности ядра сортировки в производном классе.

Существует множество примеров реализаций, из которых можно выбирать, и реализовать это довольно просто. Вот пример выполнения этого в MSDN.

После того, как вы это реализовали, все, что вам нужно сделать, это поместить в него свои результаты и использовать их в качестве источника данных, а сетка должна позволить пользователям сортировать по столбцам.

    //I know that you asked the question in VB.NET but I don't know the syntax that well.
    public class SortableBindingList<T> : BindingList<T>
    {
         //override necessary sort core methods
    }

    SortableBindingList<string> list = new SortableBindingList<string>(QueryReOrder.ToList());

    //use list as your DataSource now
5
ответ дан 5 December 2019 в 13:02
поделиться

Можно найти еще одну ссылку, которая дает полный пример того, как создать SortableBindingList, как описано в , ответ Брайана ОНейла здесь:

Сортируемый список привязки для пользовательских объектов данных

Я смог использовать этот пример почти дословно.

1
ответ дан 5 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: