<dxg:GridControl x:Name="gvAppAddressAppModuleList" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Path=aplist}" > <dxg:GridControl.Columns > <dxg:GridColumn FieldName="IsValids" Header="选择" AllowEditing="False" AllowSorting="False" HorizontalHeaderContentAlignment="Center" VisibleIndex="0" Width="40" AllowCellMerge="False"> <dxg:GridColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="cbSel" IsChecked="{Binding Data.IsValids}" HorizontalAlignment="Center" VerticalAlignment="Center" > </CheckBox> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn> <dxg:GridColumn FieldName="rn" HorizontalHeaderContentAlignment="Center" Width="40" ReadOnly="True" Header="序号" AllowEditing="False" VisibleIndex="1" AllowCellMerge="False"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="IPAddress" HorizontalHeaderContentAlignment="Center" Width="150" ReadOnly="True" Header="IP地址" AllowEditing="False" AllowCellMerge="True" VisibleIndex="2" > <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="SubnetMask" HorizontalHeaderContentAlignment="Center" Width="150" ReadOnly="True" Header="子网掩码" AllowEditing="False" AllowCellMerge="True" VisibleIndex="3"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="GateWay" HorizontalHeaderContentAlignment="Center" Width="110" ReadOnly="True" Header="网关" AllowEditing="False" AllowCellMerge="True" VisibleIndex="4"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="AppModule" HorizontalHeaderContentAlignment="Center" Width="200" ReadOnly="True" Header="应用模块名称" AllowEditing="False" AllowCellMerge="True" VisibleIndex="5"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Left" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="OSTypeName" HorizontalHeaderContentAlignment="Center" Width="120" ReadOnly="True" Header="操作系统" AllowEditing="False" AllowCellMerge="True" VisibleIndex="6"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="PortNumber" HorizontalHeaderContentAlignment="Center" Width="120" ReadOnly="True" Header="端口号" AllowEditing="False" AllowCellMerge="False" VisibleIndex="7"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="PortDesc" HorizontalHeaderContentAlignment="Center" Width="120" ReadOnly="True" Header="端口说明" AllowEditing="False" AllowCellMerge="False" VisibleIndex="8"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings HorizontalContentAlignment="Center" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="ModuleID" Header="查看详细" AllowSorting="False" Width="100" HorizontalHeaderContentAlignment="Center" VisibleIndex="9" AllowBestFit="True" AllowCellMerge="True" AllowEditing="False"> <dxg:GridColumn.CellTemplate> <DataTemplate> <dx:SimpleButton x:Name="btnLook" Content="查看详细" HorizontalAlignment="Stretch" VerticalAlignment="Center" Width="100" Click="btnLook_Click" /> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView Name="TableView" AllowPerPixelScrolling="True" ShowTotalSummary="False" ShowGroupPanel="False" AllowCellMerge="True" CellMerge="TableView_CellMerge" /> </dxg:GridControl.View> </dxg:GridControl>
private void TableView_CellMerge(object sender, DevExpress.Xpf.Grid.CellMergeEventArgs e) { if (e.Column.FieldName == "SubnetMask" || e.Column.FieldName == "GateWay" || e.Column.FieldName== "ModuleID" ||e.Column.FieldName== "OSTypeName") { var tv = sender as TableView; var gc = tv.DataControl; var r1 = gc.GetRow(e.RowHandle1) as R_AppAddressAppModule; var r2 = gc.GetRow(e.RowHandle2) as R_AppAddressAppModule; e.Merge = r1.IPAddress == r2.IPAddress && (r1.ModuleID ==r2.ModuleID); e.Handled = true; } } private void btnLook_Click(object sender, RoutedEventArgs e) { var btn = sender as SimpleButton; var cellData = btn.DataContext as GridCellData; var cellDataItem = cellData.View.DataControl.GetRow(cellData.RowData.RowHandle.Value) as R_AppAddressAppModule; MessageBox.Show("hello"); }
代码下载: http://download.csdn.net/detail/xsfqh/9767026