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 动态添加控件

时间: 2024-11-18 20:42:45

DevExpress.XtraLayout.LayoutControl 动态添加控件的相关文章

android 在布局中动态添加控件

第一步 Java代码 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 Java代码 final LinearLayout lin = (LinearLayout) findViewById(R.id.LinearLayout01); 第三步:获取需要添加的布局(控件) Java代码 LinearLayout layout = (LinearLayout) inflater.inflate( R

New UI-Java代码动态添加控件或xml布局

New UI-Java代码动态添加控件或xml布局  --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http://blog.

Android 在布局容器中动态添加控件

这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉已有的控件 3.使用,来个小demo就明白了 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(save

android 动态添加控件并实现每个子控件的点击事件

需求:我们要点击进入一家店铺,根据不同的店铺,显示不同条数的子条目 如:消毒间,洗菜间等...这些都是或多或少的,所以需要动态添加: 首先自定义View(linearLayout): package cn.qust.fang.widget; import io.vov.vitamio.MediaPlayer; import io.vov.vitamio.widget.MediaController; import io.vov.vitamio.widget.VideoView; import a

winform导入导出excel,后台动态添加控件

思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(string extension = Path.GetExtension(fileDialog.FileName).ToLower();),并设置允许后缀文件名: 3,NPOI转datetable,遍历tatetable转成实体类列表并入库: 导出: 1, 创建提示用户保存类,SaveFileDial

C#动态添加控件到窗体不显示

在FormLoad里面添加控件时,用this.Controls.Add()方法向窗体里面动态添加控件,调试,一直不显示,后来发现原来窗体上有一个groupbox覆盖了整个窗体,其实控件已经添加上去了,只是被遮盖了. 后面改为this.groupBox1.Controls.Add(),把控件添加到groupbox里面就不会被遮盖了 1 private void UniqueForm_Load(object sender, EventArgs e) 2 { 3 if (pFlag == 1) 4 {

asp.net动态添加控件学习

看了老师的教程后,自己一点感悟记录下来: 1.在页面提交后,动态生成的控件会丢失, 但如果生成控件的代码在pageload中,就可以,原理是每次生成页面都执行生成. 2.动态按件或页面原来控件, 在页面往返重新生成时, 都有一个特点.就是控件里面的值和状态会保留下来. 如: 在DorpDownList中动态添加了 item项, 在页面往返后, 这个项是保留下来的, 选中值selected也是保留下来的. 在CheckBox中的值,或是动态添加的CheckBox中的值,页面返回后,其中的check

WPF 动态添加控件以及样式字典的引用(Style introduction)

原文:WPF 动态添加控件以及样式字典的引用(Style introduction) 我们想要达到的结果是,绑定多个Checkbox然后我们还可以获取它是否被选中,其实很简单,我们只要找到那几个关键的对象就可以了. 下面是Ui,其中定义了一个WrapPanel来存放CheckBox,还有两个按钮,用于测试相关功能. <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.c

MFC中动态添加控件----寻找多年的秘籍,吐血推荐

原文作者tianwaik 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器(一般是对话框),这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示. 相比之下,静态控件不需要调用Create()函数来创建. 而创建动态控件有很大不同,以下以按钮为例,看一下