Seleccionar Row Datagrid

28/06/2005 - 04:20 por Will | Informe spam
Hola

Tengo un datagrid y quiero que al momento de seleccionar cualquier
celda, se resalte todo el row en donde está esa línea, lo estaba
haciendo así:

dataGrid.Select(grdUsuarios.CurrentCell.RowNumber);

en el evento currentCellChanged del datagrid, pero cuando selecciono
alguna celda, esta cambia de color y me permite seleccionar el texto, y
deseo evitar esto, ya he cambiado la propiedad readOnly a true, pero aún
así no consigo evitar que el texto de la celda sea seleccionable.

Alguna mejor idea?

Gracias de antemano!
 

Leer las respuestas

#1 Will
29/06/2005 - 16:04 | Informe spam
Will escribió:
Hola

Tengo un datagrid y quiero que al momento de seleccionar cualquier
celda, se resalte todo el row en donde está esa línea, lo estaba
haciendo así:

dataGrid.Select(grdUsuarios.CurrentCell.RowNumber);

en el evento currentCellChanged del datagrid, pero cuando selecciono
alguna celda, esta cambia de color y me permite seleccionar el texto, y
deseo evitar esto, ya he cambiado la propiedad readOnly a true, pero aún
así no consigo evitar que el texto de la celda sea seleccionable.

Alguna mejor idea?

Gracias de antemano!



Ya he solucionado mi problema...

lo que hice fue una nueva clase que heredara de DataGridTextBoxColumn e
implementé el método Edit para que no hiciera nada, así los textbox del
grid no se abren para edición, además seleccioné toda la fila que
deseaba marcar en el método Paint del grid...

public class DataGridNoActiveCellColumn : DataGridTextBoxColumn
{
protected override void Edit(System.Windows.Forms.CurrencyManager
source, int rowNum, System.Drawing.Rectangle bounds, bool
readOnly,string nstantText,bool cellIsVisible)
{
}
}






y en la implementación del método paint hago algo como:


if (dataGrid1CurrentRowIndex >= 0)
dataGrid1Select(dataGrid1.CurrentCell.RowNumber);


...

Así me funciona de maravilla...

Gracias a todos!

Preguntas similares