Silverlight DataGrid Control – как остановить сортировку в столбце?
-
01-07-2019 - |
Вопрос
Продолжая мою вчерашнюю проблему, сетка данных Silverlight, которую я получил из этого проблематеперь вызывает ошибки переполнения стека при сортировке столбца с большим объемом данных (например, текстовый столбец, содержащий предложениеwhere для оператора SQL).Когда вы сортируете, он запускает событие SelectedIndexChanged для сетки данных, а затем все равно пытается выполнить сортировку.Если вы еще раз щелкните заголовок, произойдет переполнение стека.
Есть ли у кого-нибудь идеи, как остановить сортировку этого элемента управления для столбца?Все остальные столбцы сортируются нормально (но все равно вызывают это проклятое событие SelectedIndexChanged), но если бы я мог отключить столбец дляwhereClause, это было бы идеально.
Есть ли у кого-нибудь лучшее представление о том, как заставить это работать?
Решение
Я знаком только с версией этой таблицы данных WPF, но попробуйте следующее:
<data:DataGridTextColumn CanUserSort="False" Header="First Name" Binding="{Binding FirstName}" />
Добавьте атрибут CanUserSort="False" в каждый столбец, сортировку которого вы не хотите.
Другие советы
Попробуйте это:
dataGridView1.Columns[*Numberofthecolumnyoudontwantsorted*].SortMode
= DataGridViewColumnSortMode.NotSortable;
@BKimmel — это не сработает, так как это в Silverlight и, очевидно, над этой частью столбца сетки еще не работали.В XAML страницы он не отображается с атрибутом режима сортировки в столбцах, а во внутреннем коде он не распознается, поскольку это не веб-элемент управления, а элемент управления Silverlight.
Спасибо хоть.Кто-нибудь еще?