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

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...