DevExpress.XtraLayout.LayoutControl 动态添加控件
// Create an item within a specified group,
// bound to a specified data field with the specified editor
private LayoutControlItem CreateItemWithBoundEditor(BaseEdit editor, object dataSource,
string dataMember, LayoutControlGroup parentGroup) {
editor.DataBindings.Add("EditValue", dataSource, dataMember);
LayoutControlItem item = parentGroup.AddItem(dataMember, editor) as LayoutControlItem;
return item;
}
private void CreateLayout() {
//Add First Name and Last Name items
LayoutControlItem itemFirstName = CreateItemWithBoundEditor(new TextEdit(), employeesSource,
"FirstName", layoutControl1.Root);
LayoutControlItem itemLastName = CreateItemWithBoundEditor(new TextEdit(), employeesSource,
"LastName", layoutControl1.Root);
// Move the Last Name to the right of the First Name
itemLastName.Move(itemFirstName, InsertTypes.Right);
// Add the Birthday group with a birthday editor inside
LayoutControlGroup birthdayGroup = layoutControl1.AddGroup("Birthday Information");
CreateItemWithBoundEditor(new DateEdit(), employeesSource, "BirthDate", birthdayGroup);
// Add a tab with three address fields
TabbedControlGroup tabbedGroup = layoutControl1.AddTabbedGroup();
LayoutControlGroup addressGroup = tabbedGroup.AddTabPage("Address Details");
string[] dataFields = new string[] { "Country", "City", "Address" };
foreach (string dataField in dataFields)
CreateItemWithBoundEditor(new TextEdit(), employeesSource, dataField, addressGroup);
// Add a tab with a photo
LayoutControlGroup groupPhoto = tabbedGroup.AddTabPage("Photo");
CreateItemWithBoundEditor(new PictureEdit(), employeesSource, "Photo", groupPhoto);
}
再次添加的时候如果需要先清除之前的item,代码如下
layoutControlSelectBusiness.BeginUpdate();
layoutControlSelectBusiness.Controls.Clear();
layoutControlSelectBusiness.Root.Items.Clear();
再次添加item的代码
layoutControlSelectBusiness.EndUpdate();
谢谢你提供的这篇代码,帮我解决了layoutControl多列自动排版的问题, 关键代码:
// Move the Last Name to the right of the First Name
itemLastName.Move(itemFirstName, DevExpress.XtraLayout.Utils.InsertType.Right);
再次表示感谢!
DevExpress.XtraLayout.LayoutControl 动态添加控件的更多相关文章
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- Android 在布局容器中动态添加控件
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉 ...
- VC中动态添加控件
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个 ...
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
博客分类: jquery-easyui jQueryAjax框架HTML 现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...
- asp.net动态添加控件学习
看了老师的教程后,自己一点感悟记录下来: 1.在页面提交后,动态生成的控件会丢失, 但如果生成控件的代码在pageload中,就可以,原理是每次生成页面都执行生成. 2.动态按件或页面原来控件, 在页 ...
- WPF:理解ContentControl——动态添加控件和查找控件
WPF:理解ContentControl--动态添加控件和查找控件 我认为WPF的核心改变之一就是控件模型发生了重要的变化,大的方面说,现在窗口中的控件(大部分)都没有独立的Hwnd了.而且控件可以通 ...
- 怎样在不对控件类型进行硬编码的情况下在 C#vs 中动态添加控件
文章ID: 815780 最近更新: 2004-1-12 这篇文章中的信息适用于: Microsoft Visual C# .NET 2003 标准版 Microsoft Visual C# .NET ...
- JQuery动态添加控件并取值
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- WPF 动态添加控件以及样式字典的引用(Style introduction)
原文:WPF 动态添加控件以及样式字典的引用(Style introduction) 我们想要达到的结果是,绑定多个Checkbox然后我们还可以获取它是否被选中,其实很简单,我们只要找到那几个关键的 ...
随机推荐
- druid连接数据库加解密
<bean id="dataSource" class="cn.zsmy.palmdoctor.utils.DecryptDruidSource" ini ...
- windowsmobile 开发环境
Windows Mobile 6开发环境的配置过程 需要的文件列表:1.Visual Studio 2005 Professional及更高的版本(Visual Studio 2005 Express ...
- java表格 JTable实例 (带滚动条,内嵌选择框)
import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.JScrollPa ...
- Mysql/MariaDB的多主集群实现:Galera Cluster
Galera Cluster是Codership公司开发的一套免费开源的高可用方案,属于multi-master的集群架构,如图所示: 三个实例,组成了一个集群,而这三个节点与普通的主从架构不同,它们 ...
- 【BZOJ】【2946】【POI2000】公共串
后缀数组 好感动,复习了下后缀数组居然写出来了……(感谢ykz大神) 求最长公共子串……WA了一发是因为:[不同字符串之间要用不同的特殊字符隔开]否则就会匹配到相同→_→比如都是aaa结尾,如果用相同 ...
- 使用navicat工具创建MySQL存储过程
使用Navicat for MySQL工具创建存储过程步骤: 1. 新建函数(选择函数标签 -> 点击新建函数): 2.输入函数的参数个数.参数名.参数类型等: 3.编写存储过程: 代码如下: ...
- GUI程序设计3
16. 树(JTree)使用示例 例16.1 创建JTree示例. package GUI1; import java.awt.BorderLayout; import java.awt.Contai ...
- 不错网络性能相关的文章-BaiduRPC
http://wiki.baidu.com/display/RPC/Threading+Overview#ThreadingOverview-单线程reactor Threading Overview ...
- python部分重点底层源码剖析
Python源码剖析—Set容器(hashtable实现) python源码剖析(内存管理和垃圾回收)
- PL/SQL Developer连接64位Oracle
在64位系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他途径来完 ...