Datagridview полный выбор строки, но получить значение отдельной ячейки - PullRequest
37 голосов
/ 05 октября 2011

У меня есть обзор данных, который является полным выбором строки.Как получить данные только из определенной ячейки, независимо от того, на какую ячейку в строке щелкнули, поскольку она выделяет всю строку.

Ответы [ 14 ]

0 голосов
/ 30 апреля 2017

Простейший код DataGridView1.SelectedCells(column_index).Value

Например, для первой выбранной ячейки:

DataGridView1.SelectedCells(0).Value
0 голосов
/ 15 мая 2016

Чтобы получить значение одной ячейки на основе выбора всей строки:

if (dataGridView1.SelectedRows.Count > 0)
      {
         foreach (DataGridViewRow row in dataGridView1.Rows)
           {
               TextBox1.Text = row.Cells["ColumnName"].Value.ToString();
           }
      }
else
      {
        MessageBox.Show("Please select item!");
      }
     }
0 голосов
/ 10 декабря 2014

Для тех, кто не смог запустить событие click, они могут использовать следующий код

public Form1()
            {
                InitializeComponent();
                this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
            }
0 голосов
/ 30 июня 2014

Используйте Cell Click, так как другие упомянутые методы будут срабатывать при привязке данных, бесполезно, если вы хотите, чтобы выбранное значение было закрыто.

private void dgvProducts_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (dgvProducts.SelectedCells.Count > 0) // Checking to see if any cell is selected
    {
        int mSelectedRowIndex = dgvProducts.SelectedCells[0].RowIndex;

        DataGridViewRow mSelectedRow = dgvProducts.Rows[mSelectedRowIndex];

        string mCatagoryName = Convert.ToString(mSelectedRow.Cells[1].Value);

        SomeOtherMethod(mProductName); // Passing the name to where ever you need it

        this.close();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...