Respostas:
Existe a RowIndex
propriedade para a CurrentCell
propriedade para o DataGridView.
datagridview.CurrentCell.RowIndex
Manipule o SelectionChanged
evento e encontre o índice da linha selecionada como acima.
CurrentCell
retorna a célula "ativa", que é diferente de "Selecionado". Mesmo se houver várias linhas selecionadas, a célula ativa pode estar em outro lugar, e pode haver apenas uma célula ativa
Use a propriedade Index na coleção SelectedRows do DGV:
int index = yourDGV.SelectedRows[0].Index;
if
dataGridView1.SelectedRows[0].Index;
Ou, se você quiser usar LINQ e obter o índice de todas as linhas selecionadas, poderá fazer:
dataGridView1.SelectedRows.Select(r => r.Index);
dataGridView1.SelectedRows[0].Index;
Encontre aqui tudo sobre datagridview tutorial C # datagridview
Lynda
tente isso
bool flag = dg1.CurrentRow.Selected;
if(flag)
{
/// datagridview row is selected in datagridview rowselect selection mode
}
else
{
/// no row is selected or last empty row is selected
}
Modifiquei a resposta de @JayRiggs, e isso funciona. Você precisa do if
porque às vezes o SelectedRows pode estar vazio, então a operação de índice lançará uma exceção.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Experimente DataGridView.CurrentCellAddress .
Returns: Um Point que representa os índices de linha e coluna da célula atualmente ativa.
EG Selecione a primeira coluna e a quinta linha, e você terá de volta: Ponto (X = 1, Y = 5)
DataGridView.CurrentCellAddress.Y
... :)
Tente:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
Espero que ajude você.
datagridview.CurrentCell.RowIndex
. Minhas desculpas - vou recomendar que esta postagem seja excluída como uma cópia completa.
Eu usei se obter o valor da linha for clicado:
private void dataGridView_Product_CellClick(object sender, DataGridViewCellEventArgs e){
int rowIndex;
//rowIndex = e.RowIndex; //Option 1
//rowIndex= dataGridView_Product.CurrentCell.RowIndex; //Option 2
rowIndex = dataGridView_Product.CurrentRow.Index; //Option 3
}