Silverlight DataGrid控件-如何停止对列的排序?

时间:2020-03-05 19:00:02  来源:igfitidea点击:

从昨天开始继续存在我的问题,我从该问题获得的Silverlight数据网格
现在,在对包含大量数据的列进行排序时(例如,包含SQL语句的where子句的text列),会导致Stack Overflow错误。排序时,它将为datagrid触发SelectedIndexChanged事件,然后仍然尝试进行扭曲。如果再次单击标题,则会发生堆栈溢出。

是否有人对如何停止此控件在列上的排序有任何想法?所有其他列排序都很好(但仍然会触发该SelectedIndexChanged事件),但是如果我可以在whereClause处关闭该列,那将是完美的。

有谁在如何使它起作用方面有更好的主意吗?

解决方案

回答

试一下:

dataGridView1.Columns[*Numberofthecolumnyoudontwantsorted*].SortMode
= DataGridViewColumnSortMode.NotSortable;

回答

@BKimmel它将无法正常工作,因为它处于Silverlight状态,并且显然尚未处理部分网格列。在页面的XAML中,列上没有显示sortmode属性,而在后端代码中,它不是Web控件,而是Silverlight控件,因此无法识别它。

不过谢谢还有谁?

回答

我只熟悉此数据网格的WPF版本,但是请尝试以下操作:

<data:DataGridTextColumn CanUserSort="False" Header="First Name" Binding="{Binding FirstName}" />

在我们不想排序的每一列上添加CanUserSort =" False"属性。