<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.youkuaiyun.com/detail/xsfqh/9767026