C# DevExpress控件, GridControl中复选框值改变事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# DevExpress控件, GridControl中复选框值改变事件相关的知识,希望对你有一定的参考价值。
C# DevExpress控件, GridControl中添加复选框,即repositoryItemCheckEdit。点击复选框,打上勾之后,当人为离开焦点后才会响应CellValueChanged事件,还有一点就是手动设置SetCellValue这个方法的时候也会响应CellValueChanged事件
我的实现效果:如:GridView中有10条数据,当点击复选框时文本框马上加1,取消时马上减1。现在唯一的困惑就是无法捕获到复选框值改变后的及时事件,不希望人为的去离开焦点。看过控件的原始Demo,也是需要人为去离开焦点后才会响应。
望有知情者帮下忙,感激不尽。
WinForm
你先进入gridcontrol的designer,然后在左边找到repositoryItem列表,选中你添加的repositoryItemCheckEdit,在右边的属性栏上方找到一个黄色闪电标志的按钮就是了,设置它的Validating事件即可! 参考技术A DevExpress没用过,只是看过,GridControl是和DataGridView控件类似的
按照DataGridView控件的使用经验来说吧
1.直接注册复选框的事件--
找出复选框所在的列,遍历这一列中的所有行
为每一个复选框注册CheckedChange事件
一般这种复选框都一般都是重写过的,是与单元格合在一起的,也就是可能是CheckBoxCell,而不是CheckBox,最简单的办法就是加断点调试一下,看看那一列到中的每个单元格底是什么类型
2.注册单元格的点击事件【CellMouseClick】,还有一个CellContentMouseClick,估计这个用不上,以前也试过,最后用CellMouseClick实现的
上面2个基本就够了,其他的方法可能要比上面2个复杂得多
以前我查资料的时候有人说用鼠标钩子,这是下下策,实在没辙了才用这些东西
一般不用考虑钩子之类的,功能是很强,但用钩子还不如自己重写个Cell方便 参考技术B repositoryItemCheckEdit1_CheckedChanged 参考技术C 按你说的要求,使用ajax技术,效果会比较好.不过你非要这么做的话,倒也行...复选框不是有单击事件吗? 写个单击事件,在事件内部处理你的逻辑.比方说你选了足球,在你的逻辑代码中,获得足球这俩字.. 然后返回给页面就行了..初学的话, 还是老老实实先按书上的来吧. 弄懂原理之后,用什么方法实现. 那都是其次了.本回答被提问者采纳 参考技术D 坚持wr60 1 分钟前
run 设计
SelectionChanged试试这个 亲测好用
C# WPF布局控件LayoutControl介绍
Dev学习地址
文档地址 :https://docs.devexpress.com/
wpf:https://docs.devexpress.com/WPF/7875/wpf-controls
winform:https://docs.devexpress.com/WindowsForms/7874/winforms-controls
asp.NET: https://docs.devexpress.com/AspNet/7873/aspnet-webforms-controls
blazor :https://docs.devexpress.com/Blazor/400725/blazor-components
概述
LayoutControl是一个项目容器,将这些项目安排在一行或一列中。
可以将LayoutGroup容器作为子容器添加到LayoutControl。LayoutGroup容器允许您将其项目并排(垂直或水平)或作为选项卡进行排列。LayoutGroup可以包含其他LayoutGroup对象作为子对象,以不同的方向排列它们的项目。这允许创建非线性布局:
使用LayoutControl的最大好处是,它会自动维护子控件的一致布局。即使调整窗口大小、添加或删除控件,或者更改控件的字体设置,控件也不会重叠。(如果手动调整控件的边距属性,控件可能会重叠)。
除了一致的布局功能外,LayoutControl还提供以下功能:
使用LayoutItem包装器自动对齐嵌入LayoutControl的控件。这些控件将根据其关联的标签自动与其左边缘对齐。有关详细信息,请参见对齐布局项的内容。
通过内置大小调整器调整子项和组的大小。
在组或布局控件中对齐项目。可以将项目与其父控件的任何边缘对齐、居中或拉伸。当父项的大小更改时,该项将相应地调整其位置。有关详细信息,请参见在LayoutGroup和LayoutControl对象中对齐项目。
在自定义模式下自定义布局。在此模式下,最终用户可以通过拖放修改项目的布局,并更改组内控件的对齐方式。有关详细信息,请参见自定义模式。
组可以呈现为选项卡容器或GroupBox对象(带有标题的容器)。
LayoutControl的元素
LayoutControl接受任何类型的项。然而,以下项目类型是最典型的:
-. LayoutGroup。它表示一个容器控件,可以并排(在一行或一列中)或以选项卡的形式显示其子控件。您可以使用LayoutGroup。View属性指定布局组的视觉样式:
LayoutGroupView.GroupBox
根据LayoutGroup,该组的孩子被安排在一列或一行中。方向属性。
在此模式下,组的标题(LayoutGroup.header)和边框可见。此外,还可以通过LayoutGroup启用组折叠功能。
-. LayoutGroupView.Group:
该组呈现为无外观容器,没有边框和标题。与前面的视觉样式一样,项目根据LayoutGroup排列在一列或一行中。方向属性。
-. LayoutGroupView.Tabs:
该组呈现为选项卡式组,其中直接子级表示为选项卡。通过将多个项目组合到单个布局组中,并将该组作为子项添加到选项卡组中,可以在单个选项卡中显示多个项目。
要为子项指定选项卡标题,请使用以下属性。如果LayoutGroup是选项卡式组的子级,请使用该组的LayoutGroup。标题属性。对于其他项目,请使用LayoutControl。TabHeader附加属性。
LayoutControl将位于选项卡组中非活动选项卡内的元素的IsEnabled属性设置为False。选择以前不活动的选项卡后,iEnabled属性值将恢复。
LayoutItem:这是一个显示控件标签的对象:
它还具有组内和组间控件的自动对齐功能。有关详细信息,请参阅布局项目和组。
Items排布
在LayoutControl中将LayoutGroups用作子级可以实现复合布局。考虑在LayoutControl中排列的项目的以下布局:
要创建上图所示的布局,将要按相同方向排列的项目组合到同一组中。然后,将这些组合并到其他组中,等等。为了了解此布局是如何构建的,让我们让组的边框和标题可见:
在这里,这些项目组合如下:
LayoutControl垂直排列组1和组5。
第一组水平排列第二组和一个标签组。
第2组垂直排列第1项和第3组。
第3组水平排列第2项和第4组。
第四组垂直排列两个项目。
选项卡组包含两个选项卡(选项卡1和选项卡2)。每个选项卡都包含特定的项。例如,由布局组表示的选项卡1垂直排列项目5和项目6。
第五组水平排列三个项目。
最后声明
本文翻译自:https://docs.devexpress.com/WPF/8147/controls-and-libraries/layout-management/tile-and-layout/layout-and-data-layout-controls/layout-control
技术群:添加小编微信并备注进群
小编微信:mm1552923
公众号:dotNet编程大全
以上是关于C# DevExpress控件, GridControl中复选框值改变事件的主要内容,如果未能解决你的问题,请参考以下文章
C# DevExpress控件 repositoryItemCheckEdit
C# 控件 DevExpress的DateEdit设置显示日期和时间
请教一个C#里使用devexpress里的spinedit控件的问题
C# DevExpress控件, GridControl中复选框值改变事件