Winform动态加载TabControl用法实例

本文实例讲述了Winform动态加载TabControl用法。分享给大家供大家参考。

具体实现代码如下:

代码如下:

private void BindTabData()

{

dtIPD = new DataTable();

//drItem = new DataTable();

//获取【项目大类】列表显示于 TabPage

MRD_Score model = new MRD_Score();

model.ActiveFlag = “Y”;

DataTable dtScore = fmed.GetScoreType(model);

foreach (DataRow dr in dtScore.Rows)

{

MRD_Score sr = new MRD_Score();

sr.PCode = dr[“ProCode”].ToString();

TabPage tabpage = new System.Windows.Forms.TabPage(dr[“ProName”].ToString().Trim());

tabpage.Name = dr[“ProName”].ToString().Trim();

tabpage.AutoScroll = true;

tabpage.Text = dr[“ProName”].ToString().Trim();

//获取大类下的 缺陷项目列表  txtIPD_NO.Text.Trim()

DataTable  drItem = fmed.getScoreItemType(sr.PCode, “”);

drItem.Columns.Add(“缺陷数”, Type.GetType(“System.Int32”));

drItem.Columns.Add(“已审核”, Type.GetType(“System.Int32”));

drItem.Columns.Add(“评分时间”, Type.GetType(“System.String”));

drItem.Columns.Add(“评分人”, Type.GetType(“System.String”));

drItem.Columns.Add(“审核时间”, Type.GetType(“System.String”));

drItem.Columns.Add(“审核人”, Type.GetType(“System.String”));

DataGridView dgv = new DataGridView();

dgv.AllowUserToAddRows = false;//禁用新增

dgv.AllowUserToDeleteRows = false; //禁用删除

dgv.Width = 960;

dgv.Height = 600;

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

dgv.CellValidating += new DataGridViewCellValidatingEventHandler(dgv_CellValidating);//验证是否为数字

dgv.CellBeginEdit += new DataGridViewCellCancelEventHandler(dgv_CellBeginEdit);// 设置 是否可以编辑

dgv.CellEndEdit += new DataGridViewCellEventHandler(dgv_CellEndEdit);

//dgv.CellFormatting += new DataGridViewCellFormattingEventHandler(dgv_CellFormatting);

dgv.DataSource = drItem;

dtIPD = fmed.getScoreItemType(sr.PCode, txtIPD_NO.Text.Trim());

tabpage.Controls.Add(dgv);

this.tabControl1.Controls.Add(tabpage);

SetInputValue(dgv, dtIPD);//加载已经输入的分值

total += getDeFen(dgv, dtIPD);

dgv.Columns[“PCode”].Visible = false;

dgv.Columns[“ItemCode”].Visible = false;

dgv.Columns[“评分人”].Visible = false;

dgv.Columns[“审核人”].Visible = false;

}

}

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  Winform动态加载TabControl用法实例

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23317.html

相关内容

C# 基础入门--常量

C#检测pc光驱里是否插入了光盘的方法

c#格式化数字的方法

C#实现字符串转换成字节数组的简单实现方法


C#开发的人脸左右相似度计算软件源码分析

C#实现的SN快速输入工具实例

C#常见算法面试题小结

C#中Predicate与Func泛型委托的用法实例

时间: 2024-07-31 07:31:48

Winform动态加载TabControl用法实例的相关文章

Winform动态加载TabControl用法

private void BindTabData() { dtIPD = new DataTable(); //drItem = new DataTable(); //获取[项目大类]列表显示于 TabPage MRD_Score model = new MRD_Score(); model.ActiveFlag = "Y"; DataTable dtScore = fmed.GetScoreType(model); foreach (DataRow dr in dtScore.Row

Android动态加载Dex机制解析

1.什么是类加载器? 类加载器(class loader)是 Java?中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中. Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取 Java 字节代码,并转换成java.lang.Class类的一个实例.每个这样的实例用来表示一个 Java 类.通过此实例的 newInstance()

黄聪:AngularJS 动态加载控制器实例-ocLoazLazy

一.AngularJS动态加载控制器和视图实例 路由配置关键代码: [javascript] view plain copy print? //二级页面 $stateProvider.state('main', { url: '/:name', /**如果需要动态加载数据和控制器***/ views: { "": { templateUrl: function ($stateParams) { console.info($stateParams); return '/template/

C# checklistbox控件用法总结(怎样得到多选的值,以及动态加载数据)

C# checklistbox控件用法总结(怎样得到多选的值,以及动态加载数据) 一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值. 其实这里遍历的只是高亮的值并不是打勾的值.遍历打勾的值要用下面的代码: for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.GetItemChecked(i)) { MessageB

js实现动态加载脚本的方法实例汇总

本文实例讲述了js实现动态加载脚本的方法.分享给大家供大家参考,具体如下: 最近公司的前端地图产品需要做一下模块划分,希望用户用到哪一块的功能再加载哪一块的模块,这样可以提高用户体验. 所以到处查资料研究js动态脚本的加载,不过真让人伤心啊!,网上几乎都是同一篇文章,4种方法,讨厌其中拷贝别人成果的人,也不加个原文的链接.哎!关键是最后一种方法还有点错误.经过两天的研究查阅资料,在这里和大家分享一下. 首先我们需要一个被加载的js文件,我在一个固定文件夹下创建了一个package.js,打开后在

Class类动态加载类的用法

编译时刻加载类出现的问题:一个功能有错,所有功能都用不了 动态加载类:

动态加载类的用法

1.动态加载类实现 首先要创建一个Word类的类类型,在通过类类型创建一个满足OfficeAble(标准)的一个对象s,通过对象s就可以调用Word类中的方法. import T1.OfficeAble; public class Office1 { public static void main(String[] args) { try { Class c= Class.forName("T1.Word"); //传入什么类就 加载什么类 //创建对象 OfficeAble s=(O

005 动态加载实例

from selenium import webdriver from selenium.webdriver.chrome.options import Options from time import sleep # 创建一个对象,用来控制chorme以无界面模式打开 chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu')

7. 反射技术:其实就是动态加载一个指定的类

反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员.简单说:反射技术可以对一个类进行解剖. 反射的好处:大大的增强了程序的扩展性. 反射的基本步骤: 1.获得Class对象,就是获取到指定的名称的字节码文件对象. 2.实例化对象,获得类的属性.方法或构造函数. 3.访问属性.调用方法.调用构造函数创建对象. 获取这个Class对象,有三种方式: 1:通过每个对象都具备的方法getClass来获取.