<sdk:DataGrid AutoGenerateColumns="False" Name="_datagridSensor" GridLinesVisibility="All" HorizontalAlignment="Stretch" VerticalScrollBarVisibility="Auto"
Margin="0,5,5"
Height="502" ItemsSource="{Binding UserSensors}" LoadingRowGroup="_datagridSensor_LoadingRowGroup">
<sdk:DataGrid.Columns>
<sdk:DataGridCheckBoxColumn Header="选择" Binding="{Binding isUsed,Mode=TwoWay}" />
<sdk:DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=SensorType,Converter={StaticResource SensorTypeConverterKey}}" Header="传感器类型" Width="10*" />
<data:DataGridTextColumn Header="设备编号" IsReadOnly="True" Binding="{Binding Path=SensorNo}" Width="10*" HeaderStyle="{StaticResource DataGridColumnHeaderCentered}" />
<data:DataGridTemplateColumn Header="安装位置" IsReadOnly="True" Width="20*" HeaderStyle="{StaticResource DataGridColumnHeaderCentered}" >
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="{Binding Path=address}" />
</StackPanel>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
//设置分组的名称,中文显示,如果没这个方法,那么显示的是字段名
private void _datagridSensor_LoadingRowGroup(object sender,DataGridRowGroupHeaderEventArgs e)
{
e.RowGroupHeader.PropertyName = "传感器类型";
e.RowGroupHeader.Background = new SolidColorBrush(Colors.Orange);
}
分组数据又ID变为Name,需要在数据源那里处理
void op_Completed(object sender,EventArgs e)
{
List<proc_GetUserSensor_Result> list = (List<proc_GetUserSensor_Result>)(sender as InvokeOperation).Value;
//UserSensors = list;
UserSensors = new PagedCollectionView(list);
UserSensors.GroupDescriptions.Add(new System.Windows.Data.PropertyGroupDescription("SensorType",new SensorTypeConverter()));
}
在设置分组字段的时候,添加一个converter,前台datagrid绑定里的converter和后台数据源设置用的是一个converter
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。