本文实例讲述了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;
}
}
private void gettolsum()
{
if (tabcontrol1.tabcount == 0)
{
txtscore.clear();
txtlevel.clear();
return;
}
double tolsource = 0.00;
for (int i = 0; i < tabcontrol1.tabcount; i++)
{
if (!tabcontrol1.tabpages[i].haschildren)
{
continue;
}
tolsource += sumdgv((datagridview)tabcontrol1.tabpages[i].controls[0]);
}
getscorelevel(tolsource);
savetol();
}
希望本文所述对大家的c#程序设计有所帮助。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论