Chitranjan Pd Asthana Ответов: 9

Просмотр таблицы данных выбранное значение ячейки как его получить


я хочу получить DataGridView selected Cell value on click event я использую этот код он генерирует ошибку

DataGridViewRow dgvrows = TrGrid.SelectedRows;
string c = dgvrows.Cells("Late_Time").value.toString();

Tarun.K.S

А ошибка есть?

Ruaj

я хочу удалить и обновить свою базу данных записей на datagrid с помощью cellclick в каждой записи, как я могу это сделать?

9 Ответов

Рейтинг:
65

Umair Feroze

Следующий фрагмент кода сделает трюк за вас:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != null)
    {
       MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
    }
}


Надеюсь, это вам поможет.


paveeyavee

Спасибо, что это было полезно..........

BlackMilan

... да, до 1-го щелчка по заголовку строки или столбца. ;-)

spencepk

Мне это тоже помогло. Спасибо, Умайр!

Member 10150435

Спасибо что он работает

Рейтинг:
2

BobJanova

Практическое руководство есть Свойство CurrentCell[^]. Я думаю, что это то, что вы подразумеваете под "выбранной ячейкой". Если вы хотите просмотреть все выделенные ячейки, у него есть свойство SelectedCells, которое можно перечислить, чтобы дать объекты ячеек.


Рейтинг:
2

Węgierski.A

У вас может быть много неприятностей:
* значение ячейки может быть null: тестовое значение для null перед использованием ToString()
* имя столбца может быть ошибочным (я думаю, это невозможно в вашем коде)...
и после щелчка:
* индекс строки может быть равен -1, например. когда вы нажимаете заголовок столбца, а не ячейку: тест RowIndex не должен быть равен -1 и находиться между 0 и количеством строк
* индекс ячейки может быть равен -1, например. когда вы нажимаете заголовок строки, а не ячейку: test ColumnIndex, как указано выше


Рейтинг:
2

Fady Aro

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

dgvrows[0].Cells("Late_Time").value.toString();


saravana kumar.N

как установить значение в ячейку в java?

Рейтинг:
2

Prasanta_Prince

Если вы зададите какой-то аргумент команды, то,-

int RowIndex = Convert.ToInt32((e.CommandArgument).ToString());


Рейтинг:
2

babman92

вы можете использовать это решение:

DataGridViewCell cell = KdgvAsset.SelectedCells[0] as DataGridViewCell;
string value = cell.Value.ToString();

:)


Member 10676130

Здравствуйте,я Ванен,с острова Маврикий,новичок в c# и vs.

Я получаю трудности при сохранении значений из моей datagrid в базу данных.
Если это возможно,выберите опцию для выбора всех строк и опцию для выбора строк, которые нужно сохранить в базе данных из datagrid.

Может ли кто-нибудь вести меня?пожалуйста!
Заранее спасибо.

Рейтинг:
2

Member 10938000

Private Sub DataGridView_CellMouseClick1(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView.CellMouseClick
    Dim val As String = DataGridView.CurrentCell.Value.ToString()

        MsgBox(val)


End Sub


Member 11791999

комментарий

Рейтинг:
1

Tarun.K.S

SelectedRows вернет коллекцию строк типа DataGridViewSelectedRowCollection и нет DataGridViewRow.

Так что вы можете использовать его вот так :

DataGridViewSelectedRowCollection rows = dataGridView1.SelectedRows;
string val =(string)rows[2].Cells["Late_Time"].Value; //I have specified rowIndex as 2 as an example


Рейтинг:
1

Member 14613545

private void gv_packet_report_SelectionChanged(object sender, EventArgs e)
{
    try
    {
        sum += Convert.ToDouble(gv_packet_report.CurrentCell.Value.ToString());
        label_sum.Text = sum.ToString();
    }
    catch (Exception)
    {

    }
}


CHill60

Не относящийся к исходному вопросу и очень плохой код - никогда не используйте try-catch, если вы действительно не делаете что-то с любыми возникшими исключениями. Другими словами, у вас никогда не должно быть пустого оператора catch