C#单击TabControl中选项卡触发的事件
在目前开发项目的一个功能界面中,我使用了TabControl控件,不同的TabPage界面,有不同的数据录入界面,使用DataGridView控件加载不同的数据,我想实现的功能是,单击不同的tabPage选项卡,即在相应的界面中加载对应的数据。
下面是我用TabControl的Selected事件写的代码,tp1和tp2是两个TabPage界面,dgvTool和dgvType分别为tp1和tp2中的dataGridView控件,用TabControl的SelectedIndexChanged事件也没有实现目的。
各位帮忙看看,谢谢!
private void tabControl1_Selected(object sender,TabControlEventArgs e)
{
if(e.TabPage==
tp1)
{
string strSql = "select a.subsidiaryToolId as 序号,b.subsidiaryToolTypeName as 工具类型,a.subsidiaryToolCode as 代码,a.subsidiaryToolName as 工具名称,a.pic as 图片,a.remark as 备注" +
" from subsidiaryTool a join subsidiaryToolType b on a.subsidiaryToolTypeId=b.subsidiaryToolTypeId";
DataSet ds = operateData.getDs(strSql, "tb");
dgvTool.DataSource = ds.Tables[0];
dgvTool.Columns[0].Visible = false;
iniCbTypeId();
}
if(e.TabPage==
tp2)
{
string strSql1 = "select subsidiaryToolTypeId as 类别序号,subsidiaryToolTypeName as 类别名称,remark as 备注 from subsidiaryToolType";
DataSet ds1 = operateData.getDs(strSql1, "tb1");
dgvType.DataSource = ds1.Tables[0];
dgvType.Columns[0].Visible = false;
}
}
------解决方案--------------------if (e.TabPage.Text == "存档")
------解决方案--------------------你现在出现的是什么效果?是两次的结果相同还是其他什么结果,说清楚点撒LZ。你用表名试试:
dgvTool.DataSource = ds.Tables[tb];第一个标签页
dgvTool.DataSource = ds.Tables