在wpf中,基于dev实现Gridcontrol单元格合并

39 篇文章 0 订阅
<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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值