簡體   English   中英

文本框中的選定dataGridView單元格的值

[英]Value of Selected dataGridView cell in Textbox

我在Windows窗體中有一個datagridview和文本框,當我單擊datagridview的單元格時,該值必須復制到文本框。

我收到一個錯誤:

System.Windows.Forms.DataGridCell不包含RowIndex的定義

我已經嘗試過此代碼

void dataGridView1_Click(object sender, EventArgs e)
 {
      Txt_GangApproved.Text=dataGridView1.CurrentCell.RowIndex.Cells["NO_OF_GANGS_RQRD"].Value.ToString();
 }
foreach (DataGridViewRow RW in dataGridView1.SelectedRows) {
    //Send the first cell value into textbox'
    Txt_GangApproved.Text = RW.Cells(0).Value.ToString;
}

嘗試這個-

Txt_GangApproved.Text = dataGridView1.SelectedRows[0].Cells["NO_OF_GANGS_RQRD"].Value.ToString();

您正在使用錯誤的事件來實現所需的結果。 代替使用Click事件,而使用dataGridView1的CellClick事件,然后嘗試以下代碼:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if(e.RowIndex >= 0 && e.ColumnIndex >= 0)  //to disable the row and column headers
    {
       Txt_GangApproved.Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
    }
}

有時在DataGridView的選擇模式為FullRowSelect時,有時會使用SelectionChanged事件。 然后,我們可以在事件內寫一行:

Txt_GangApproved.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["NO_OF_GANGS_RQRD"].Value);
private void dataGRidView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex >= 0)
        {
            DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
            string text = row.Cells[dataGridView1.CurrentCell.ColumnIndex].Value.ToString();
        }
    }

這是100%的工作代碼(使用-CellClick-事件處理程序):

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        textBox1.Text = dataGridView1.CurrentCell.Value.ToString();
    }

暫無
暫無

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

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