2011-12-19 15 views
7

Así que tengo varias datagridviews que establecimos en FullRowSelect. Los usuarios ahora están solicitando la capacidad de seleccionar en celdas individuales para las funciones de copia.DataGridView CellSelect y FullRowSelect

Configuré DataGridView en pero cuando ejecuto la aplicación, cuando hago clic en el Encabezado de fila, no se resalta la Fila completa, solo la primera columna.

He intentado utilizar el RowHeaderMouseClick con un CellMouseClick para obtener el modo de selección para cambiar pero para que RowHeaderMouseClick para seleccionarlo totalmente estoy teniendo que hacer clic en el encabezado de fila varias veces.

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

¿Cómo puedo fácilmente o no tan fácil cambiar de un lado a otro entre CellSelect y FullRowSelect dependiendo de lo que han seleccionado en la parrilla?

Respuesta

13

Si le entiendo, usted quiere ser capaz de seleccionar las células individuales, sino también seleccionar fácilmente una fila completa?

Si ese es el caso, configure SelectionMode en RowHeaderSelect.

2
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 

1- En realidad está utilizando la estructura DataGridView, y no su objeto DataGridView.

2- El SelectionMode no se debe modificar cada vez que el usuario haga clic en una Fila, sino en su Constructor de su programa.

Ejemplo

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

Estoy utilizando el objeto, simplemente se llama DataGridView en el ejemplo. Voy a cambiar el nombre para mayor claridad. En cuanto al modo de selección, cambiará en función de lo que el usuario desee. Podrían hacer clic en una celda, por lo que debería ser CellSelect. Si hacen clic en RowHeader, sería FullRowSelect. – Taryn

-1

this.dataGridViewEmpList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

0

agregue este código de una línea.

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