簡體   English   中英

當我在 C# 中有多個 datagridviews 時,如何獲取當前選定的 datagridview 的名稱?

[英]How can I get the name of the current selected datagridview when I’ve multiple datagridviews in C#?

我有 5 個數據網格視圖,我想從選定的數據網格視圖中獲取詳細信息。
就像選擇 gridview 行時一樣,我想使用 gridview 名稱獲取該行的詳細信息。

private void assigncontrctbtn_Click(object sender, EventArgs e)
{

        SqlConnection conn;
        conn = ConnectionManager.GetConnection();
        SqlCommand newCmd = conn.CreateCommand();
        newCmd.Connection = conn;
        newCmd.CommandType = CommandType.Text;
        conn.Open();
        string hh = "SELECT contractstatus from dbo.contracts where "here i need gridview name";
        SqlCommand cmd = new SqlCommand(hh, conn);
        string dd = Convert.ToString(cmd.ExecuteScalar());

        if ((dd == "Contract logged") && (cmbCategory.Text != "Calculate Contract") && (cmbCategory.Text == "Verify Contract"))
        {
            MessageBox.Show("no");
        }
        else if ((dd == "Calculate Contract") && (cmbCategory.Text != "Verify Contract") && (cmbCategory.Text == "Calculate Contract"))
        {
            MessageBox.Show("verify");
        }

        else
        {
            if (dba.logcontract(cntrctnmecmb.Text, Convert.ToInt32(prcecodecmb.Text), seasoncmb.Text, cmplexitycmb.Text, revisecmb.Text, logdatetime, condatefrm.Value.Date.ToString("MM/dd/yyyy"), condteto.Value.Date.ToString("MM/dd/yyyy"), vatcmb.Text, statuscmb.Text, lstcmnt.Text, apprvedbycmb.Text, cmbCategory.Text))
            {
                MessageBox.Show("Successfully Added");
                FillGridCal();
                FillGridVer();
            }
            else
            {
                MessageBox.Show("Error occured");
            }
        }
    }

您可以為每個 DataGridView 設置一個事件,例如CellClick 單擊一行時,您可以獲得所需的詳細信息。 我假設您所說的take that row details意思是take the cell values for the selected row

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        DataGridView dgv = sender as DataGridView;
        string firstColumn = (string)dataGridView1.Rows[e.RowIndex].Cells[firstColumn.Name].Value;//I'm getting 1 column from the selected row, you can do a loop if you want to get all cells
        string dataGridView = dgv.Name;//This is the DataGridView name
    }

暫無
暫無

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

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