簡體   English   中英

帶有datagridview的選項卡控件在Winforms中不起作用

[英]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 == tpDetailstccorporates.SelectedTab == tpmembers語句即可。 當用戶單擊tab2時,將已經為他們加載了所有內容。

嘗試實現tabControl的SelectedIndexChanged事件。 因此,當您在標簽頁之間切換時,請更新相應的控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM