微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight 中DataGrid分组,分组名中午显示,分组数据ID转为Name显示

  <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 举报,一经查实,本站将立刻删除。

相关推荐