c# 动态产生控件 注册动态控件事件
用CheckEdit演示 其他控件类推
CheckEdit AllSele = new CheckEdit();
AllSele.Location = new System.Drawing.Point(10, 16);
AllSele.Text = "全选";
this.groupBox5.Controls.Add(AllSele);
AllSele.CheckedChanged += new EventHandler(AllSele_CheckedChanged); int i = 2;
int x = 10;
while (i < colCount)
{
CheckEdit cEt = new CheckEdit();
cEt.Location = new System.Drawing.Point(x += 75, 16);
cEt.Text = dt.Columns[i].ColumnName;
cEt.Name = cEt.Text;
this.groupBox5.Controls.Add(cEt);
cEt.CheckedChanged += new EventHandler(cEt_CheckedChanged);
i++;
}
下面是单选框值改变事件
/// <summary>
/// 单选框处理事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cEt_CheckedChanged(object sender, EventArgs e)
{
CheckEdit ce = (CheckEdit)sender; if (flag)
{
//小数据 string te = ce.Name; //view.Columns[ce.Name + "_YB"].Name;
//cpggcc.Visible = true;
view.Columns["PART"].OwnerBand = cpccbw;
view.Columns["GC"].OwnerBand = cpgcfw;
GridBand band = cpggcc.Children.AddBand(ce.Name);
band.Name = ce.Name;
GridBand yqBand = band.Children.AddBand("要求");
GridBand ybBand = band.Children.AddBand("样板");
GridBand ybcc = ybBand.Children.AddBand("尺寸");
GridBand yqcc = yqBand.Children.AddBand("尺寸");
view.Columns[ce.Name].Visible = true;
view.Columns[ce.Name+"xx"].Visible = true;
view.Columns[ce.Name].OwnerBand = yqcc;
view.Columns[ce.Name+"xx"].OwnerBand = ybcc;
view.Columns[ce.Name + "xx"].OptionsColumn.AllowEdit = true; string[] temp = new string[30];////
for (int j1 = 0; j1 < view.Columns.Count; j1++)
{
temp[j1] = view.Columns[j1].Name;
} StyleCenter(band);
StyleCenter(yqBand);
StyleCenter(ybBand);
StyleCenter(yqcc);
StyleCenter(ybcc);
flag = false;
}
else if (ce.Checked)
{
GridBand band = cpggcc.Children.AddBand(ce.Name);
band.Name = ce.Name;
GridBand yqBand = band.Children.AddBand("要求");
GridBand ybBand = band.Children.AddBand("样板");
GridBand ybcc = ybBand.Children.AddBand("尺寸");
GridBand yqcc = yqBand.Children.AddBand("尺寸");
view.Columns[ce.Name].OwnerBand = yqcc;
view.Columns[ce.Name].Visible = true;
view.Columns[ce.Name + "xx"].Visible = true;
view.Columns[ce.Name].OptionsColumn.AllowEdit = true;
view.Columns[ce.Name].OwnerBand = yqcc;
view.Columns[ce.Name + "xx"].OwnerBand = ybcc;
view.Columns[ce.Name + "xx"].OptionsColumn.AllowEdit = true;
StyleCenter(band);
StyleCenter(yqBand);
StyleCenter(ybBand);
StyleCenter(yqcc);
StyleCenter(ybcc);
}
else
{
cpggcc.Children.Remove(cpggcc.Children[ce.Name]); //移除gridBand } }
c# 动态产生控件 注册动态控件事件的更多相关文章
- C# 动态代码生成控件后其他事件不能获取该控件的值
1.新建web项目,添加两个Button控件,结果如图. 2.Button按钮控件点击事件代码如下 protectedvoid Button1_Click(object sender, EventAr ...
- 当前页面刷新和动态添加控件的jquery事件绑定on
当前页面刷新(console): location.reload() 给动态添加的控件添加js事件(委托): <ul> <li>菜单一</li> <li> ...
- C#-WebForm-WebForm开发基础、如何给控件注册事件?——事件委托写法、http无状态性、三层结构
(小知识 - xml:可扩展的标记语言 html:超文本标记语言) 一.创建WebForm:新建→网站 此时文件夹中只有一个 config 文件,打开后 二.在项目下右键添加新项 在设计页面中打开 从 ...
- 【VS开发】动态添加的ActiveX控件如何响应事件
http://blog.csdn.net/xiaoqiqixiao/article/details/574542 今天在csdn上看到一朋友问如何响应动态添加的控件的事件,搜索资料,发现对于一般的应用 ...
- asp.net Login控件基本属性及事件说明
原文:asp.net Login控件基本属性及事件说明 Login系列控件是微软为了简化我们的开发过程,为我们进行常规的安全开发提供块捷途径. Login系列控件包含下列控件: Login 登录控件 ...
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- DWZ (JUI) 教程 tree 控件的选中事件
DWZ (JUI) 教程 tree 控件的选中事件 先简单说一下流程 第一步 当然是先定义好回调事件了 function checkCallback(json){ ........... ...... ...
- VC中动态添加控件
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个 ...
- asp.net动态添加控件学习
看了老师的教程后,自己一点感悟记录下来: 1.在页面提交后,动态生成的控件会丢失, 但如果生成控件的代码在pageload中,就可以,原理是每次生成页面都执行生成. 2.动态按件或页面原来控件, 在页 ...
随机推荐
- Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLIC
在mysql5中遇到的问题: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) f ...
- 矩阵快速幂AC代码HDU 2035
#include <iostream> using namespace std;const int MOD = 1000;//像这样的一个常量就应该专门定义一下 int PowMod(in ...
- abstract class 和 interface区别
相同点: 1.都不能被直接实例化,都可以通过继承实现其抽象方法: 不同点: 1.接口支持多继承,抽象类只能由一个父类: 2.接口只能定义行为,抽象类既可以定义行为,又可以提供实现: 3.接口只包含方法 ...
- MVC动态生成表单
1*书写方式 一.using语句可以不写结束标记,自动加上 服务端 客户端 默认提交当前控制器和操作方法 二.开始与结束代码都写 服务端 客户端 三.一些常用的重载方法 (1)要提交的控制器,和操作方 ...
- 笨方法学python--安装和准备
1 下载并安装python http://python.org/download 下载python2.7. python2.7并不是python3.5的旧版本. python2现在应用较广,网上资料较 ...
- js、html中的单引号、双引号及其转义使用
js.html中的单引号.双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<in ...
- angular.js之路由的选择
在一个单页面中,我们可以添加多个模块,使得网页只在需要的时候加载这个模块.模块的切换大致上可以代替网页的切换,于是,我们便可以通过模块的切换实现网页的切换,这个切换是按需加载的. 乍一看非常普通的东西 ...
- CodeForces--TechnoCup--2016.10.15--ProblemA--Transformation: from A to B
http://codeforces.com/contest/727/problem/A Transformation: from A to B time limit per test 1 second ...
- java应用程序中判断用户输入的一个整数是否在已知数组里。
import java.util.*; class Example2_5 { public static void main(String args[]) { int start=0,end,midd ...
- android 垂直 SeekBar 源代码(VerticalSeekBar)[转]
主要是继承 AbsSeekBar 然后修改下面这些方法 onProgressRefresh() //当进度条数据更新的时候,例如我们拖动滑动条的时候,这个方法被调用 setThumbPos() //这 ...