继续我昨天的问题,我从中得到的 Silverlight 数据网格 问题现在,当对包含大量数据的列(例如包含 SQL 语句的 where 子句的文本列)进行排序时,会导致堆栈溢出错误。当您排序时,它将触发数据网格的 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 中,它不会在列上显示 sortmode 的属性,并且在后端代码中,它无法识别它,因为它不是 Web 控件,而是 silverlight 控件。

不过谢谢。还有谁?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top