Columna no seleccionable en un DataGridView

A veces, por “exigencias del guión”, debemos de tener en nuestro DataGridView enlazado a datos columnas descriptivas que no están asociadas a ningún campo de la tabla. Por ejemplo, si escribimos en una Celda un Código (que podría ser un Codigo de Barras, etc…) y queremos que en la columna adjunta aparezca su Descripción.

Además de ello, para no incrementar el número de pulsaciones de teclado, queremos que salte de la Columna 1 (que podría ser la del código a la posible columna 3 (que la llamaremos cantidad para este ejemplo), sin tener que pasar por la columna 2.

Pues bien, para crear este tipo de columna en un DataGridView nos vemos obligados a crear dos clases que hereden del tipo DataGridViewTextBoxCell y del DataGridViewTextBoxColumn.

En la clase que herede de DataGridViewTextBoxCell sobreescribimos el método OnEnter y añadimos lo siguiente:
base.DetachEditingControl();
SendKeys.Send("{tab}");

Después, en la clase DataGridViewTextBoxColumn, en el contructor tenemos que añadir lo siguiente:
base.CellTemplate = new NombreDeLaClaseQueHeredaDeDataGridViewTextBoxCell();
base.ReadOnly = true;

Finalmente, simplemente vamos al DataGridView, editamos el tipo de columna (que después de una compilación del proyecto sale automáticamente en los tipos de columna disponibles en el editor) y ya tenemos una columna que no se puede seleccionar y ahorrará al usuario una pulsación de teclado.

4 Responses to “Columna no seleccionable en un DataGridView”


  1. 1 Mario 21 September 2007 at 05:00

    Hola lo estuve probando pero al final la sentencia : base.DetachEditingControl(); me genera una excepcion el codigo lo pase a VB.Net no se enque estare fallando, realize todos esos pasos.. estara mal??
    Help me!!

  2. 2 Leodan 15 October 2007 at 19:26

    Como realizar una busqueda en un datagridview pero enlazdo con XML no con una base de datos

  3. 3 Venusita 6 June 2008 at 16:45

    Como unir celdas en el DataGridView??..ya que en visual 6.0 existe la propiedad MergeCells, en .NET no……..


  1. 1 HOYGAN « Vargas & Software Development Trackback on 21 September 2007 at 08:04
Comments are currently closed.



About me


My name is Rafa Vargas. I'm an undergraduate student of Computer Science at University of Seville, Spain. I am mainly interested in computer security, usability and the business of software.

Click here to read the full story.

Twitter subscription

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,022 other followers

Archives


Follow

Get every new post delivered to your Inbox.

Join 1,022 other followers