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

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

Ответы [ 14 ]

80 голосов
/ 05 октября 2011

Вы можете сделать это ...... ...... 1001 *

     private void datagridview1_SelectionChanged(object sender, EventArgs e)
     {
         if (datagridview1.SelectedCells.Count > 0)
         {
             int selectedrowindex = datagridview1.SelectedCells[0].RowIndex;

             DataGridViewRow selectedRow = datagridview1.Rows[selectedrowindex];  

              string a = Convert.ToString(selectedRow.Cells["you have to mention you cell  corresponding column name"].Value);           


         }
     }
18 голосов
/ 12 октября 2012

Если вы хотите получить содержимое выбранной ячейки;вам нужен индекс строки и ячейки.

int rowindex = dataGridView1.CurrentCell.RowIndex;
int columnindex = dataGridView1.CurrentCell.ColumnIndex; 

dataGridView1.Rows[rowindex].Cells[columnindex].Value.ToString();
7 голосов
/ 05 октября 2011

В событии CellClick вы можете написать следующий код

string value =
      datagridviewID.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue.ToString();

Используя код Бове, вы получите значение ячейки, которую вы кликнули.Если вы хотите получить значение определенного столбца в выбранной строке, просто замените e.ColumnIndex на нужный вам индекс столбца

3 голосов
/ 05 октября 2011

Вы можете получить значения ячейки также, так как текущий выбор ссылается на CurrentRow

dataGridView1.CurrentRow.Cell[indexorname].FormattedValue

Здесь вы можете использовать индекс или имя столбца и получить значение.

2 голосов
/ 22 мая 2018

Я знаю, я немного опоздал на ответ. Но я хотел бы внести свой вклад.

DataGridView.SelectedRows[0].Cells[0].Value

Этот код прост как кусок пирога

2 голосов
/ 10 сентября 2016
string value = dataGridVeiw1.CurrentRow.Cells[1].Value.ToString();
2 голосов
/ 02 января 2014

Я просто хочу отметить, вы можете использовать .selectedindex, чтобы сделать его немного чище

string value = gridview.Rows[gridview.SelectedIndex].Cells[1].Text.ToString();
1 голос
/ 30 мая 2017

это даст мне текстовое значение точной ячейки в виде сетки данных

private void dataGridView_SelectionChanged(object sender, EventArgs e)
    {
        label1.Text = dataGridView.CurrentRow.Cells[#].Value.ToString();
    }

вы можете увидеть его в метке и изменить # с указанием точной ячейки, которую вы хотите

1 голос
/ 07 июля 2015

Просто используйте: dataGridView1.CurrentCell.Value.ToString()

        private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
        }

или

 // dataGrid1.Rows[yourRowIndex ].Cells[yourColumnIndex].Value.ToString()

 //Example1:yourRowIndex=dataGridView1.CurrentRow.Index (from selectedRow );
 dataGrid1.Rows[dataGridView1.CurrentRow.Index].Cells[2].Value.ToString()

 //Example2:yourRowIndex=3,yourColumnIndex=2 (select by programmatically )
  dataGrid1.Rows[3].Cells[2].Value.ToString()
1 голос
/ 05 октября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...