2011-12-19 15 views
7

Quindi ho più datagridview che avevamo impostato su FullRowSelect. Gli utenti ora richiedono la possibilità di selezionare su singole celle le funzioni di copia.DataGridView CellSelect e FullRowSelect

Impostare lo DataGridView su CellSelect ma quando si esegue l'applicazione, quando si fa clic sull'intestazione di riga non viene evidenziata la riga intera, solo la prima colonna.

Ho provato usando l'RowHeaderMouseClick con un CellMouseClick per ottenere la modalità di selezione per spostare ma affinché RowHeaderMouseClick selezionare pienamente sto avendo cliccare sul titolo della riga più volte.

private void DataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
} 

Come è possibile passare facilmente o non così facilmente avanti e indietro tra CellSelect e FullRowSelect a seconda di ciò che hanno selezionato sulla griglia di partenza?

risposta

13

Se ho capito, si vuole essere in grado di selezionare le celle singole ma anche facilmente selezionare una fila completa?

Se questo è il caso, impostare SelectionMode su RowHeaderSelect.

2
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 

1- Si sta effettivamente utilizzando la struttura DataGridView e non l'oggetto DataGridView.

2- Il SelectionMode non deve essere modificato ogni volta che l'utente fa clic su una riga, ma nel Costruttore del programma.

Esempio

public MyForm() 
{ 
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
} 
+1

Sto usando l'oggetto, è appena chiamato DataGridView nell'esempio. Cambierò il nome per chiarezza. Per quanto riguarda la modalità di selezione, cambierà in base a ciò che l'utente desidera. Potrebbero fare clic su una cella, quindi dovrebbe essere CellSelect. Se fanno clic su RowHeader, sarà FullRowSelect. – Taryn

-1

this.dataGridViewEmpList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

0

aggiungere questo codice di una riga.

this.dataGridView1.SelectionMode = isTrue == true ? DataGridViewSelectionMode.FullRowSelect : DataGridViewSelectionMode.RowHeaderSelect;