none
Bloquear columnas de Gridview RRS feed

  • Pregunta

  • Que tal Amigos Programadores gente desarrolladora de Sofware de este gran espacio.....

    Mi duda es la siguiente tengo 7 columnas en mi Gridview las cuales necesito bloquear 6 de ellas es decir que el usuario no pueda darles doble click y ni Click; solo a 1 columna le podra dar click como puedo lograr bloquear las 6 columnas que tengo de mi Gridview y que solo puedan darle click a solo 1 columna....

    Ya prove con la propiedad Read_Only y aun asi no lo bloquea; sera algun codigo que necesite para bloquear las columnas?

    Seria de muchisima inportancia su respuesta.....


    • Editado IngAlejandro miércoles, 14 de agosto de 2013 4:47 colums
    • Cambiado Enrique M. Montejo martes, 20 de agosto de 2013 11:46 Controles de Windows Forms
    miércoles, 14 de agosto de 2013 4:45

Todas las respuestas

  • ¿Cual es el objetivo que persigues impidiendo al usuario hacer clic en las columnas?

    Si el objetivo es que no pueda editar los datos la propiedad ReadOnly debería valer. Otra opción más drástica es ocultar las columnas.

    Si tu objetivo es evitar pueda mover las columnas de sitio puedes utilizar la propiedad Frozen de cada columna.

    Saludos


    nunca te acostarás sin saber una cosa más

    miércoles, 14 de agosto de 2013 7:00
  • hola

    que tipo de aplicacion estas desarrollando, es web o desktop ? porque el control que mencionas GridView es un control de asp.net

    ese readonly donde lo aplicas? o mejor dicho las columnas las defines en tiempo de diseño, o son creadas dinamicamente

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 14 de agosto de 2013 12:43
  • Hola que tal Leandro lo estoy desarrollando en Visual Basic.NET y es una aplicacion Desktop y utilizo la propiedad que tienen las columnas cuando las creo con el Gridview.... y edito sus propiedades para cada columna y el Read_Only si es cierto que no me permite editar eso esta muy bien pero lo que necesito es que no puedan hacer doble click en una determinada columna en el gridview.

    Ya que al hacer dobleclick aparece un form con una imagen y al extraerla si hacen doble click en una columan con valor string no me la muestra...

    Tengo una columna en el Gridview su nombre es Indice con puros valores enteros el cual me abre la imagen y solo quiero que den doble click ha esa...

    miércoles, 14 de agosto de 2013 14:08
  • ¿Cual es el objetivo que persigues impidiendo al usuario hacer clic en las columnas?

    que no hagan doble click en cualquier columna del Datagridview ya que al hacer doble click en cualquier columna me aparece un form que extrae una imagen de una base de datos en SQL server y los valores de la columna son de tipo string y no puedo convertir un valor de tipo string a integer porque no me jala la imagen tengo una columna en mi Datagridview que se llama "Indice" solo a esa quiero que le den doble click para que cargue el form con la imagen es de tipo Integer y si el usuario hace click en otro lado que no haga nada que este bloqueada...

    El Read_Only solo es por si quieren editar, en mi caso necesito que no den dobleclick y ocultarlo no puedo ya que necesito que se visualice cierta informacion en el datagridview.

    miércoles, 14 de agosto de 2013 14:22
  • Y si haces que el código que te muestra el Form con la imagen sólo se ejecute cuando el usuario ha hecho doble clic en una celda de la columna que tu quieres?

    algo parecido a esto....

        Private Sub DataGridView1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
            If e.ColumnIndex = 0 Then
                'Este código sólo se ejecutará cuando el usuario haga doble clic en una celda
                'de la primera columna
                Dim messageBoxVB As New System.Text.StringBuilder()
                messageBoxVB.AppendFormat("{0} = {1}", "ColumnIndex", e.ColumnIndex)
                messageBoxVB.AppendLine()
                messageBoxVB.AppendFormat("{0} = {1}", "RowIndex", e.RowIndex)
                messageBoxVB.AppendLine()
                MessageBox.Show(messageBoxVB.ToString(), "CellDoubleClick Event")
                'Recuperar el ID del registro seleccionado y ejecutar un determinado código
                '....
            End If
        End Sub
    

    Saludos


    nunca te acostarás sin saber una cosa más

    miércoles, 14 de agosto de 2013 15:18
  • he logrado hacer eso Barbaroja pero aun no me bloque las celdas que quiero busque una solucion facil pero es poner un mensaje si da click en una celda prohibida.... es decir coloque un "MesageBox" ya no se que mas puedo hacer he metido codigo tras codigo pero aun no he conseguido bloquear las celdas........ agradesco muchisimo tu apoyo...
    miércoles, 21 de agosto de 2013 3:16