在wpf中,基于dev实现Gridcontrol单元格合并
2017-03-01 11:32
162 查看
<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
相关文章推荐
- 使用WPF技术实现基于MSN协议的五子棋程序
- Dev的ASPxGridView和GridControl实现多层列头
- 使用WPF技术实现基于MSN协议的五子棋程序
- WPF 基于Adorner实现类似Popup效果
- 基于 WPF 的酷炫 GUI 窗口的简易实现
- 基于 dynamic 和匿名类 对WPF实现简单的绑定
- 在Linux 应用层 基于i2c-dev.h 实现i2c读写
- 基于WPF系统框架设计(5)-Ribbon整合Avalondock 2.0实现多文档界面设计(二)
- 基于modern ui for wpf的在线公开课平台 之四 ListBox+WrapPanel实现平铺效果
- 基于InkCanvas实现的桌面涂鸦工具-[ WPF开发 ]
- 基于WPF系统框架设计(4)-Ribbon整合Avalondock 2.0实现多文档界面设计(一)
- 在Linux 应用层 基于i2c-dev.h 实现i2c读写
- 【Dev Club分享】基于RxJava的一种MVP实现
- 通通WPF随笔(4)——通通手写输入法(基于Tablet pc实现)
- 在WPF中基于DEV的复选框勾选一条或多条数据
- 使用WPF技术实现基于MSN协议的五子棋程序
- 通通WPF随笔(4)——通通手写输入法(基于Tablet pc实现)
- 基于modern ui for wpf的在线公开课平台 之五 使用ListBox实现图片列表效果
- [开源]基于WPF实现的Gif图片分割器,提取GIf图片中的每一帧
- 基于IMD的包过滤防火墙原理与实现