Я пытаюсь получить текущую выбранную строку в datagridview
внутри и int, но все примеры, которые я нахожу даже здесь, на этом веб-сайте, всегда дают мне ошибку индекса, находящуюся за пределами границ, поэтому я использовал оператор if, чтобы проверить, есть ли любые строки, выбранные на всех, но это только возвращает мне -1, независимо от того, что я выбираю, и я просто не понимаю, почему это не работает для меня.
private void mainTableDataGridView_SelectionChanged(object sender, EventArgs e)
{
int index = -1;
if (mainTableDataGridView.SelectedRows.Count > 0)
{
index = mainTableDataGridView.SelectedRows[0].Index;
}
textBox1.Text = Convert.ToString(index);
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
this.Text = dataGridView1.SelectedCells[0].RowIndex.ToString();
}
попробуй это:
Int32 selectedRowCount = mainTableDataGridView.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (selectedRowCount > 0)
{
index = mainTableDataGridView.SelectedRows[0].Index.ToString();
}
textBox1.Text = index;