您的位置:首页 > 其它

在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: