DevExpress学习笔记之如何获取Repository Item的值

上一章我们看到了如何在TreeList的单元格中动态绑定不同的控件,此类控件被称为In_Place Control。所谓“In_Place”,我的理解为“内置”控件,既然有“内”就相对的会有“外”,其实内和外最简单的理解就是“内置”控件是绑定到如GridControl,TreeList等控件单元格上的控件,“外置”控件是直接拖到Form上的控件。

如果单单只是放置的位置不同,其它没有任何区别的话,就不会有这一章节了。以ComboBoxEdit为例,要获取这个DropDownList控件的值,“外置”的方式相当方便,如下所示:


1

2

3

ComboBoxEdit combo1 = new ComboBoxEdit();

 

String val1 = Convert.ToString(combo1.EditValue);

这么简单的两行代码就可以获取到相关控件的值了,但是要想把这代码应用到“内置”的控件上,就费了力气了,请看下面. 我先在TreeList的Designer中新增一个Repository Item,类型为ComboBoxEdit

将这个“内置”控件绑定至TreeList的某个单元格中,并响应其SelectedValueChanged的事件,发现居然找不到repositoryItemComboBoxLogic的EditValue属性,如下图所示:

噢,找不到这个值的属性如何能够获取到Repository Item的值啊?

到DevExpress的官网上搜索了一下,发现这样一个信息。原来,Repository Item不论绑定的什么控件,在确定其修改值之前(回车或者转移焦点),“内置”控件的值是不会被绑定的单元格感知到的,因此无法直接通过EditValue这个属性获取到ComboBoxEdit控件选择的值(实际上也根本没有这个属性)。如果想获取到选择的值,首先必须通过“内置”控件的“容器”控件(本处为TreeList)的ActiveEditor方法获取其Active的Editor,在这个例子中就是ComboEdit,后面就是顺利成章的事情了。

代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

private void repositoryItemComboBoxLogic_SelectedValueChanged(object sender, EventArgs e)

 

{

 

    BaseEdit logicEdit = treeList1.ActiveEditor;

 

    MessageBox.Show(Convert.ToString(logicEdit.EditValue));

 

}

运行效果截图如下:
 

时间: 2024-11-16 21:06:12

DevExpress学习笔记之如何获取Repository Item的值的相关文章

DevExpress 如何获取Repository Item的值

DevExpress学习笔记 如何获取Repository Item的值 上一章我们看到了如何在TreeList的单元格中动态绑定不同的控件,此类控件被称为In_Place Control.所谓“In_Place”,我的理解为“内置”控件,既然有“内”就相对的会有“外”,其实内和外最简单的理解就是“内置”控件是绑定到如GridControl,TreeList等控件单元格上的控件,“外置”控件是直接拖到Form上的控件. 如果单单只是放置的位置不同,其它没有任何区别的话,就不会有这一章节了.以Co

sencha touch权威指南---学习笔记5-经纬度获取计算直线距离

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta charset="utf-8" />    <title></title>    <link rel="stylesheet" href="sdk-touch/resources/css/sencha-touch.

[Spring Data Repositories]学习笔记--为repository添加通用的方法

如果想把一个方法加到所有的repository中,用前一篇提到的方法就不合适了. 英文原版,请看 http://docs.spring.io/spring-data/data-mongo/docs/1.5.2.RELEASE/reference/html/repositories.html#repositories.custom-behaviour-for-all-repositories 1. 定义自己的repository,要从基础的repository进行继承. public interf

linux学习笔记一:获取命令帮助

linux命令超多,忘记命令的使用方式.格式是很平常的事 囧.能够使用系统自带的帮助文件获取到相关的信息是学习linux的必备基本功! 下面记录几个常用的帮助命令,只为加深本菜的记忆,有不对的地方请看到这篇博文的大大加以指导,感激不尽! 简要介绍下命令,命令分为两大种类. 一种为shell自带的一些基础命令,称为内部命令.该类命令集成在shell内部,执行速度比外部命令快. 还有一种称为外部命令,该类命令是额外安装的,开机不自动加载,在需要使用时通过路径查找(printenv中的PATH项),加

C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型--装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. int i = 10; Object obj = i; 三:将引用类型转换为值

二、vue学习--父元素如何获取子元素的值,子元素如何获取父元素的值

下图是父元素: 下图是子元素,获取父元素的值,使用props定义属性,这样就可以获取到父元素上传过来的set .place.type,拿到值就可以做一些自己的逻辑处理 二.子元素给父元素传值? 下图为子元素将值传递出去的方式,使用emit将值公布给父元素,见下图: 父元素需要接受子元素给的值,在父元素中相应的要有propMethods属性,这个属性可以使用v-on的方式绑定,也可以使用@propMethods的方式,见下图: 上图中的login是处理事件,这里点击按钮时需要子元素来触发事件,所以

php学习笔记3--php中获取时间与实际时间不符

问题描述:在php脚本中使用date()获取服务器时间时总是与实际时间相差几个小时. 可能原因:php配置文件中时区的设置出现问题 解决方法: 方法1. php.ini文件中date.timezone=PRC 或者date.timezone = Asia/Shanghai 方法2. 在调用date()等时间相关的函数之前调用:date_default_timezone_set('PRC'); 或者date_default_timezone_set('Asia/Shanghai');

DevExpress学习笔记1-ProductsDemo.Win

最近在学习ProductsDemo.Win,有一些体会记录下来,大家分享: 在Contacts模块: 在Private Sub UpdateCurrentContact()过程添加一句:InitIndex(DataHelper.Contacts)'根据Contacts数据库重建索引 在Public Sub SetupGrid(ByVal list As List(Of AlphaIndex), ByVal grid As GridControl)过程添加代码后如下:Dim view As Gri

老邓的android学习笔记(2)-Android 获取屏幕的分辨率的N种方式

Android 获取屏幕的分辨率 第一种方法:最简单的方法 1 2 int screenWidth  = getWindowManager().getDefaultDisplay().getWidth();   int screenHeight = getWindowManager().getDefaultDisplay().getHeight();  很简单 2句话就能搞定,尽量先使用这种方法进行测试,如果这种方法无法测试通过的话,就换下面的方法 第二中方法: 获取屏幕尺寸比较通用的算法 1