[英]tab control with datagridview is not working in winforms
我有一个带有2个datagrid视图控件的表单1和带有两个选项卡的选项卡控件。
当我单击datagridview单元格时,我想将内容加载到两个选项卡中。
我想在第一个标签的文本框中显示所选的datagridview行值。
我想根据表单中主要datagridview中选定的行值(单元格[0]值)填充此选项卡中的其他datagridview
但这是行不通的。
到目前为止,这是我所做的...
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)
任何人都可以帮忙...
然后在该行上放置一个断点。 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
}
}
只需从if
块中忽略tccorporates.SelectedTab == tpDetails
和tccorporates.SelectedTab == tpmembers
语句即可。 当用户单击tab2时,将已经为他们加载了所有内容。
尝试实现tabControl的SelectedIndexChanged事件。 因此,当您在标签页之间切换时,请更新相应的控件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.