前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF GridControl控件的用法举例

WPF GridControl控件的用法举例

作者头像
用户9127601
发布2021-12-29 12:31:00
1.8K0
发布2021-12-29 12:31:00
举报
文章被收录于专栏:dotNET编程大全dotNET编程大全

01

前言

WPF中自带的表格控件是DataGrid,但是格式并不是很美观,我们一般用

Dev中类似的控件GridControl来取代,这个控件功能相当强大。

WPF数据网格(GridControl)是一个数据感知控件,用于以不同的布局显示和编辑数据:表格、树状和卡片。GridControl允许用户管理大量数据(排序、分组、筛选等)。

02

示例

代码语言:javascript
复制
 <dxg:GridControl  Grid.Row="0" Grid.Column="1" MaxHeight="500" 
                    ItemsSource="{Binding PointList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Grid.RowSpan="3"
                     HorizontalAlignment="Left"  VerticalAlignment="Top"  Margin="0" AllowLiveDataShaping="True" >
                        <dxg:GridControl.View>
                            <dxg:TableView ShowTotalSummary="True" AllowMoveColumnToDropArea="False" AllowGrouping="False" AutoExpandOnDrag="False" ShowDragDropHint="False" ShowGroupPanel="False" AllowColumnMoving="False" AllowResizing="False" RowIndicatorContentTemplate="{StaticResource rowIndicatorContentTemplate}" Header="datashow" />
                        </dxg:GridControl.View>
                        <dxg:GridColumn  Header="ID" FieldName="ID"   Width="80"/>
                        <dxg:GridColumn  Header="X(mm)" FieldName="Col"   Width="80">
                            <dxg:GridColumn.EditSettings>
                                <dxe:TextEditSettings MaskType="RegEx" Mask="[1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]"/>
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                        <dxg:GridColumn  Header="Y(mm)" FieldName="Row"   Width="80"/>
                        <dxg:GridColumn   Header="Z(um)" Binding="{Binding Z}"  Width="80">
                            <dxg:GridColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding RowData.Row.Z}"></TextBlock>
                                </DataTemplate>
                            </dxg:GridColumn.CellTemplate>
                        </dxg:GridColumn>
                    </dxg:GridControl>

运行结果如下:

03

讲解

1. 当GridContol显示时默认有一个拖拽框用以将字段拖入其中进行分组排序,这是一个很强大的功能,如果你不需要这个功能,可以ShowGroupPanel=“false”。

2. AllowMoveColumnToDropArea="False"是不让用户随意拖拽某一列至垃圾区。

3. GridControl通过设置TableView的AutoWidth=“Auto”来使Columns占满整个Grid,如果不设置的话有时候你会发现展现出的Grid会多出一列!

4. dxg:GridColumn不能直接包含FontFamily等在DataGridTextColumn中常见的属性,需要重写Template,重写的时候有两个地方需要绑定,Template绑定的是RowData.Row.XX:

代码语言:javascript
复制
<dxg:GridColumn   Header="Z(um)" Binding="{Binding Z}"  Width="80">
                            <dxg:GridColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding RowData.Row.Z}"></TextBlock>
                                </DataTemplate>
                            </dxg:GridColumn.CellTemplate>
                        </dxg:GridColumn>

官方文档: https://docs.devexpress.com/WPF/6084/controls-and-libraries/data-grid 参考链接: https://www.cnblogs.com/lovecsharp094/p/6413724.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 dotNET编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档