|
Página 2 de 4
|
Autor |
Mensaje |
elenagd
Usuario
Registrado: Enero 2011
Mensajes: 16
Edad: 44
|
Re: El Control Tableview
Hola de nuevo, vengo otra vez con el tableview, je,je,.... luego de conseguir (gracias a uds,) por fin editar la fila del tableview, surgieron nuevos inconvenientes:
se puede restringir la entrada para solo números? intenté con el evento keypress pero no lo reconoce, y como realizo un cálculo con el monto editado, me da un error cuando se introducen letras..
otro problema es que al introducir por teclado la ,(coma) decimal, también me da el mismo error, lo que me impide también mostrar los valores con el formato correcto: pj (1.000,50).
PUBLIC SUB Tableview1_Click()
monto = CFloat(Tableview1[Tableview1.Row, 2].Text)
IF Tableview1.Column = 2 THEN
Tableview1.Edit
ENDIF
END
PUBLIC SUB TableView1_Save(Row AS Integer, Column AS Integer, Value AS String)
IF Value = "" THEN ---- es posible colocar algo en esta condición que reconozca que no es un número?
Message.Error("Debe introducir un valor númerico")
RETURN
ENDIF
TableView1[Tableview1.Row, 3].Text = monto - Value
TableView1[Tableview1.Row, 4].Text = Value
END
también ocurre que solo si la cantidad editada es exactamente igual a la cantidad original, no realiza la resta....
|
#11 Viernes, 28 Enero 2011, 22:02 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: El Control Tableview
Hola
Citar: IF Value = "" THEN ---- es posible colocar algo en esta condición que reconozca que no es un número?
La forma de hacer eso es INTENTAR convertirlo a número y ver si hay error
try cint(value)
if error then
print "no es numero"
else
print "es numero"
endif
Para cosas como esta es conveniente tener esta rutina y algunas otras en un módulo. Cuando necesitas lo incorporas al proyecto y ya está. Pongamos la clase funciones
'funciones class
De ahí en adelante cada vez que necesites saber si un string es numérico
EsNumero=funciones.EsNumero(valor)
En EsNumero tienes true o false según que sea o no número
Citar: se puede restringir la entrada para solo números?
Que yo sepa no porque el evento keypress no rula. A mi no me gusta el tableview. Yo prefiero usar el gridview para para mostrar las cosas y utilizar controles corrientes para hacer los cálculos. Si pones unos textboxes debajo del gridview queda muy bien. Todo es echarle imaginación.
Citar: if value="" then
Para esto en gambas puedes poner "if value then"
Citar: TableView1[Tableview1.Row, 3].Text = monto - Value
Value es de tipo string.
|
#12 Viernes, 28 Enero 2011, 22:16 |
|
|
SOURBOY
Usuario
Registrado: Febrero 2011
Mensajes: 12
Edad: 34
|
Re: El Control Tableview
Mmmm no se si soy mas bruto de normal.. pero a mi no me funciona!! !!... a lo mejor es porque estoy llenando el tableview con postgres???
no se este es i codigo:
PUBLIC SUB Form_Open()
DIM Qry AS String
ME.Center
Qry = "select * From aula order by depa_aula ASC"
Conexion.cone()
conexion.fill_view(TableView1, Qry)
WITH TableView1
'.columns.Resizable = TRUE
.columns.count = 2
.columns[0].text = "Cod de asignatura"
.columns[0].Width = 170
.columns[1].text = "Nombre de asignatura"
.columns[1].Width = 170
END WITH
END
PUBLIC SUB TableView1_Data(Row AS Integer, Column AS Integer)
DIM arrtable[100] AS String
arrtable[0] = "id_aula"
arrtable[1] = "depa_aula"
WITH conexion
.resul.MoveTo(Row)
TableView1.data.Text = Str(.resul[arrtable[Column]])
END WITH
END
' SUB Tableview1_Click()
' DIM Tabla AS NEW string[]
' Tabla.add("Opcion 1")
' Tabla.add("Opcion 2")
' IF TableView1.columnat = 1 '- - - > si estamos en la columna 3
' TableView1.edit(tabla, TRUE) '- - - > editar en un combo con cpciones "opcion1" y "opcion 2".El valor TRUE indica que el
' 'combo ser á de solo lectura y por tanto solo se podrá elegir una opción
' ELSE
' TableView1.edit ' - - - > editar en te xtbox
' ENDIF
'
' END
PUBLIC SUB Tableview1_Click()
TableView.edit
END
y el error que me da es : "tableView.edit" is not estatic
|
#13 Viernes, 04 Febrero 2011, 05:47 |
|
|
arubioc
Alex
Ingeniero Programador
Registrado: Julio 2011
Mensajes: 248
Edad: 53 Ubicación: Kowloon
|
Re: El Control Tableview
Buenos dias Sres y con la venia de los moderadores.
Este es mi primer post, aprovecho para presentarme como un aficionado de toda la vida al Visual Basic y que después de toda una vida dándole al tema, he decidido pasarme a Linux/Ubuntu/Gambas2.
Ando jugando con un tablegridview y el problema que me aparece hoy por hoy es la imposibilidad de detectar un EVENT del mouse click botón dedecho.
La idea es hacer aparecer un menu al pulsar sobre la ROW concreta para borrar, editar, imprimir, etc.
Espero estar haciendo la pregunta en el post correcto.
Un saludo.
última edición por arubioc el Miercoles, 20 Julio 2011, 08:23; editado 1 vez
|
#14 Miercoles, 20 Julio 2011, 08:22 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: El Control Tableview
arubioc:
Bienvenido, has hecho una buena elección al cambiar. Mejor coloca tu pregunta en un post nuevo, que no tiene mucho que ver con éste...
=================== No podemos regresar
|
#15 Miercoles, 20 Julio 2011, 10:26 |
|
|
arubioc
Alex
Ingeniero Programador
Registrado: Julio 2011
Mensajes: 248
Edad: 53 Ubicación: Kowloon
|
Re: El Control Tableview
shordi, gracias por la recomendación. Así lo he hecho.
Un saludo.
|
#16 Miercoles, 20 Julio 2011, 14:50 |
|
|
arubioc
Alex
Ingeniero Programador
Registrado: Julio 2011
Mensajes: 248
Edad: 53 Ubicación: Kowloon
|
Re: El Control Tableview
Buenas tardes otra vez,
Es posible editar una celda concreta? indicando posición?
O es posible pasar el focus a una celda concreta, para que el usuario entre un valor en esa posición ?
Por ejemplo, tb.edit [col,row]
para que cuando termine de hacer alguna cosa pueda forzarlo a que se entre un valor en esa celda indicando row y col.
En visual basic se hacia
tb.col = 1
tb.row=2
i el focus lo tenias en esa celda de la tabla.
todos los cambios que se hacían a nivel de propiedad se realizaban solo en esa posición.
|
#17 Domingo, 31 Julio 2011, 15:20 |
|
|
BrunoIV
|
Re: El Control Tableview
Es posible editar una celda concreta? indicando posición?
No se muy bien si te refieres a asignar un texto en una celda (ya sea tabla o grid)
tablaDatos.Rows.Count = 3 'Nº de Filas
tablaDatos.Columns.Count = 2 'Nº de Columnas
tablaDatos[0, 1].Text = "HI" 'Texto en la fila 0, columna 1
tablaDatos[0,0].Picture=Picture["image.png"] 'Imagen en la fila 0, columna 0
O bien a editar un texto ya existente en la tabla... Para eso se me ocurre lo siguiente: al hacer doble clic sobre una celda se abre un formulario con un cuadro de texto, introduces lo que te salga y al cerrarlo se asigna en la celda...
'Formulario FMain:
PUBLIC SUB tablaDatos_DblClick()
formulario.ShowModal 'Abre el formulario en modo "modal"
tablaDatos[tablaDatos.Row, tablaDatos.Column].Text = texto 'Asigna a la celda donde has hecho doble clic el texto que has introducido en el formulario
END
'Formulario llamado "formulario"
PUBLIC SUB bAceptar_Click()
FMain.texto = tbEntrada.text 'Asigna el texto del textBox a la variable pública del form FMain
Me.close
END
Me auto-edito: He encontrado una forma más decente de editar valores de una tabla que no conocia.. ^^
PD: Si tienes una pregunta tienes que abrir una entrada nueva en el foro, no usar otra ya creada -.-
última edición por BrunoIV el Domingo, 31 Julio 2011, 19:09; editado 1 vez
|
#18 Domingo, 31 Julio 2011, 19:00 |
|
|
arubioc
Alex
Ingeniero Programador
Registrado: Julio 2011
Mensajes: 248
Edad: 53 Ubicación: Kowloon
|
Re: El Control Tableview
Ok, creare una pregunta en otro nuevo hilo, un que cuando uno busca documentación en internet, a mi me gusta encontrarla toda de golpe en un mismo hilo, no en muchos hilos diferentes.
Pero si estas son las normas del foro, pues sin problemas.
Re-formulo la pregunta en el nuevo hilo, ya que posiblemente no he expresado al 100% lo que quiero conseguir.
|
#19 Domingo, 31 Julio 2011, 19:52 |
|
|
datobinario
Jose Montilla
Aprendiz
Registrado: Marzo 2013
Mensajes: 79
Edad: 45 Ubicación: Venezuela
|
Re: El Control Tableview
Mas vale tarde que nunca
¿como se hace para que las celdas (columnas) tengan el ancho automático?
estoy usando un GridView todas las columnas me quedan del mismo tamaño, lo ideal, si es posible, es que la columna tome el ancho de la celda mas ancha.
¿se puede hacer
=================== gambeando ando -o- Yaracuy-Venezuela
[img]http://www.gambas-es.org/files/images/2194/mi_tarj_present_qr_droid.png[/img]
|
#20 Jueves, 19 Febrero 2015, 05:17 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 2 de 4
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|