我有一个带有2个数据网格视图控件的表单1和带有两个选项卡的选项卡控件。
当我点击datagridview单元格时,我想将内容加载到两个标签中。
我想在第一个标签的文本框中显示所选的datagridview行值....这样工作正常....
我想在此选项卡中填充其他datagridview,具体取决于主要数据格式视图中所选行值(单元格[0]值)
但这不起作用。
这是我到目前为止所做的......
private void dgvCorporatedetails_CellClick(object sender, DataGridViewCellEventArgs e)
{
textboxreadonly(false);
btnAdd.Enabled = false;
if (e.RowIndex >= 0)
{
int.TryParse(dgvCorporatedetails.Rows[e.RowIndex].Cells[0].Value.ToString(), out corporateid);
if (corporateid > 0 && tccorporates.SelectedTab == tpDetails)
{
getselectedrecord(corporateid);
}
if (corporateid > 0 && tccorporates.SelectedTab == tpmembers)
{
Getmembersdetails(corporateid);
}
}
}
它不会进入这种情况if (corporateid > 0 && tccorporates.SelectedTab == tpmembers)
即使我单击datagridview单元格,然后我选择tab2(tpmembers),datagridview也不会在此标签页中加载(tpmembers)
任何人都可以帮忙...
答案 0 :(得分:0)
然后在该行放置一个断点。 corporateid大于0? SelectedTab是否设置为tpmembers?如果第一个if
语句运行,表明当前选中的选项卡是tpDetails,则第二个if
语句将不会运行。您所写的if语句是互斥的。
现在你的方式,如果用户在tab1上并在网格中选择一行,那么只有tab1将显示有关所选行的数据。如果他们想要在tab2中查看数据,他们必须再次单击您的网格以将数据加载到该选项卡中。如何将所有数据一次加载到两个选项卡中,无论当前选择哪一个?
int corporateid;
if (e.RowIndex >= 0 && int.TryParse(dgvCorporatedetails.Rows[e.RowIndex].Cells[0].Value.ToString(), out corporateid))
{
if (corporateid > 0)
{
getselectedrecord(corporateid); // load data into tpdetails tab
Getmembersdetails(corporateid); // load data into tpmembers tab
}
}
答案 1 :(得分:0)
尝试为tabcontrol实现SelectedIndexChanged事件。因此,当您在标签页之间切换时,请更新相应的控件。