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用法的更多相关文章

  1. Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载

    在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的 ...

  2. 动态加载与插件系统的初步实现(3):WinForm示例

    动态加载与插件系统的初步实现(三):WinForm示例 代码文件在此Download,本文章围绕前文所述默认AppDomain.插件容器AppDomain两个域及IPlugin.PluginProvi ...

  3. Class类动态加载类的用法

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

  4. 反射 type 的基本用法,动态加载插件

    这里介绍反射的简单实用 MyClass类 public class MyClass { public int Age { get; set; } public string Name { get; s ...

  5. geotrellis使用(二十三)动态加载时间序列数据

    目录 前言 实现方法 总结 一.前言        今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...

  6. 分享个刚写好的 android 的 ListView 动态加载类,功能全而代码少。

    (转载声明出处:http://www.cnblogs.com/linguanh/) 简介:      该ListView 实现动态加载数据,为了方便用户充分地自定义自己的数据源.点击事件,等核心操作, ...

  7. 会员管理系统的设计和开发(2)-- RDLC报表的设计及动态加载

    在上篇<会员管理系统的设计和开发(1)>介绍了关于会员系统的一些总体设计思路和要点,经过一段时间开发,软件终于完成并发布.在这期间,碰到了不少技术难点,并积累了不少开发心得和经验,本篇继续 ...

  8. [AngularJS] 使用AngularCSS动态加载CSS

    [AngularJS] 使用AngularCSS动态加载CSS 前言 使用AngularAMD动态加载Controller 使用AngularAMD动态加载Service 上列两篇文章里,介绍了如何如 ...

  9. [AngularJS] 使用AngularAMD动态加载Service

    [AngularJS] 使用AngularAMD动态加载Service 前言 「使用AngularAMD动态加载Controller」:这篇文章里介绍如何使用AngularAMD来动态加载Contro ...

随机推荐

  1. SSIS执行SQL任务时加入参数

    昨天开发的SSIS包中,获取ERP系统parttran表时,数据量比较大,达到255万多,因为SQL执行的关系,致使处理时效率很慢,所以就想用增量更新的方法处理该表数据.这是增量更新的SQL任务集合, ...

  2. SQLite 入门教程(一)基本控制台(终端)命令 (转)

    转于: SQLite 入门教程(一)基本控制台(终端)命令 一.基本简介   SQLite 是一个自持的(self-contained).无服务器的.零配置的.事务型的关系型数据库引擎.因为他很小,所 ...

  3. JBoss 目录结构

    安装JBoss 会创建下列目录结构: 目录 描述  bin 启动和关闭JBoss 的脚本  client 客户端与JBoss 通信所需的Java 库(JARs)  docs 配置的样本文件(数据库配置 ...

  4. Unity3D 导入贴图、模型等资源文件时自动设置参数

    脚本继承至AssetPostprocessor, 存放在Editor目录下! using UnityEngine; using System.Collections; using UnityEdito ...

  5. ThinkPad E431怎样关闭触摸板

    ThinkPad E431怎样关闭触摸板 系统环境:win 7 旗舰版 1.下载驱动程序 到官方下载UltraNav驱动.參考例如以下图所看到的: Think Pad系列关闭触摸板须要安装专门的驱动程 ...

  6. Tomcat 优化

    1.apr 许多朋友可能在启动tomcat的时候都会看到类似这样的信息: 引用 org.apache.catalina.core.AprLifecycleListener init 信息: The A ...

  7. 【课程分享】基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发从无到有垂直搜索引擎

    对这个课程有兴趣的朋友,能够加我的QQ2059055336和我联系,能够和您分享.  课程介绍:最有前途的软件开发技术--搜索引擎技术  搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个 ...

  8. 神奇的 BlocksKit(1):源码分析(上)

    高能预警:本篇文章非常长,因为 BlocksKit 的实现还是比较复杂和有意的.这篇文章不是为了剖析 iOS 开发中的 block 的实现以及它是如何组成甚至使用的,如果你想通过这篇文章来了解 blo ...

  9. ecshop在PHP 5.4以上版本各种错误问题处理

    在php5.4版本之后有很多的函数与功能进行丢弃与升级功能了,现在国内很多CMS都还未按php5.4标准来做了,下面我整理了一些在ecshop在PHP 5.4以上版本各种错误问题处理. 1.PHP 5 ...

  10. 史上最全的JavaScript工作笔记

    /* * JavaScript查看对象函数 */ function resultTest( obj ){ var resultTest = ''; $.each(obj,function(key,va ...