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 = ;
dgv.Height = ;
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;
}
}
private void GetTolSum()
{
if (tabControl1.TabCount == )
{
txtScore.Clear();
txtLevel.Clear();
return;
}
double tolsource = 0.00;
for (int i = ; i < tabControl1.TabCount; i++)
{
if (!tabControl1.TabPages[i].HasChildren)
{
continue;
}
tolsource += SumDgv((DataGridView)tabControl1.TabPages[i].Controls[]);
}
GetScoreLevel(tolsource);
SaveTol(); }
Winform动态加载TabControl用法的更多相关文章
- Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载
在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的 ...
- 动态加载与插件系统的初步实现(3):WinForm示例
动态加载与插件系统的初步实现(三):WinForm示例 代码文件在此Download,本文章围绕前文所述默认AppDomain.插件容器AppDomain两个域及IPlugin.PluginProvi ...
- Class类动态加载类的用法
编译时刻加载类出现的问题:一个功能有错,所有功能都用不了 动态加载类:
- 反射 type 的基本用法,动态加载插件
这里介绍反射的简单实用 MyClass类 public class MyClass { public int Age { get; set; } public string Name { get; s ...
- geotrellis使用(二十三)动态加载时间序列数据
目录 前言 实现方法 总结 一.前言 今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...
- 分享个刚写好的 android 的 ListView 动态加载类,功能全而代码少。
(转载声明出处:http://www.cnblogs.com/linguanh/) 简介: 该ListView 实现动态加载数据,为了方便用户充分地自定义自己的数据源.点击事件,等核心操作, ...
- 会员管理系统的设计和开发(2)-- RDLC报表的设计及动态加载
在上篇<会员管理系统的设计和开发(1)>介绍了关于会员系统的一些总体设计思路和要点,经过一段时间开发,软件终于完成并发布.在这期间,碰到了不少技术难点,并积累了不少开发心得和经验,本篇继续 ...
- [AngularJS] 使用AngularCSS动态加载CSS
[AngularJS] 使用AngularCSS动态加载CSS 前言 使用AngularAMD动态加载Controller 使用AngularAMD动态加载Service 上列两篇文章里,介绍了如何如 ...
- [AngularJS] 使用AngularAMD动态加载Service
[AngularJS] 使用AngularAMD动态加载Service 前言 「使用AngularAMD动态加载Controller」:这篇文章里介绍如何使用AngularAMD来动态加载Contro ...
随机推荐
- MyEclipse开发Web项目发布到Tomcat下的Root目录
通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/we ...
- ThinkPHP3.1新特性:命名范围
概述 命名范围功能,给模型操作提供了一系列的(连贯操作)封装,让你更方便的查询和操作数据.我们来具体了解下这一用法. 定义属性 要使用命名范围功能,主要涉及到模型类的_scope属性定义和scope连 ...
- editplus如何设置不自动备份
依次选择:工具,参数设置,文件(默认展开的,要缩回),然后看右边“保存文件时创建备份”,前面的框不要打勾,应用,确定
- 【点滴积累】通过特性(Attribute)为枚举添加更多的信息
转:http://www.cnblogs.com/IPrograming/archive/2013/05/26/Enum_DescriptionAttribute.html [点滴积累]通过特性(At ...
- c++制作小游戏--雷电
用c++实现了一个小游戏--雷电,貌似执行的还不错.贴图和声效也是Duang!Duang!的.整个项目我也会给出下载链接,有兴趣的能够编译执行一下.用到了C++11的新特性,最好是使用vs2013编译 ...
- Mac OS X 如何设置默认浏览器
有时候我们不希望在 Mac 中点击任何连接都打开的是 Safari,这需要修改默认浏览器设置,在 Mac OS X 中如何设置默认浏览器呢? 打开 Safari 的偏好设置,在「通用」选项卡中有「默认 ...
- FastJSON应用前测试--转载
FastJSON 应用前测试 FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能. ...
- TCP/IP协议原理与应用笔记16:交换机和路由器区别
1.交换机和路由器区别 (1)交换机: 交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备.交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的 ...
- 集合练习——Map部分
练习: 输入诗的名称查询出诗的内容,当输入exit时,退出程序,“春晓”,“静夜思”,“鹅”. package CollectionPart; public class Poetry { privat ...
- ModelAndView使用方法
配置支持ModelAndView 在application.xml中配置支持ModelAndView,配置方式有两种. 配置一 <bean id="ViewResolver" ...