[英]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.