Hola de nuevo.
Tengo un form con un columnview que muestra la información contenida en una BD SQLite. Tengo en el mismo Form un TextBox y un Button para realizar búsquedas. La BD tiene 100 registros de equipos, los cuales se muestran correctamente en el columnview. La búsqueda la hago con un query que busca, valga la redundancia, en la tabla de la BD el campo "hostname" y me muestra los resultados asociados en el mismo Columnview. Es decir, de los 100 registros iniciales mostrados por el columnview, una vez realizada la búsqueda, solamente me muestra 1, el que yo busqué.
Lo que quiero hacer:
Realizar esa misma búsqueda, pero que, una vez se encuentre el registro solicitado, me lo muestre "marcado", "seleccionado" o cualquier sinónimo que se os ocurra entre los 100 registros. Es decir, una vez realizda la busqueda y encontrado el dato, éste debe de aparecer "resaltado" entre los 100 restantes.
Espero haber sido claro esta vez y pues, una vez más agradezco de antemano cualquier orientación al respecto.
Gracias.
ColumnView Y Selección De Campos
Objetivo: Re: ColumnView Y Selección De Campos
Hola, yo eso no lo haría con un ColumnView, no obstante creo que es lo mismo para un TableView o GridView. Sacado de la ayuda - F1
ColumnView.MoveTo (gb.qt)
Syntax
FUNCTION MoveTo ( Key AS String ) AS Boolean
Moves the internal cursor to a specified item.
Returns TRUE if the item does not exist.
Esto debe seleccionarlo y por lo tanto resaltarlo.
Antonio
xxx
ColumnView.MoveTo (gb.qt)
Syntax
FUNCTION MoveTo ( Key AS String ) AS Boolean
Moves the internal cursor to a specified item.
Returns TRUE if the item does not exist.
Esto debe seleccionarlo y por lo tanto resaltarlo.
Antonio
xxx
Objetivo: Re: ColumnView Y Selección De Campos
Muchas gracias Ahtonio
Entiendo que debo de averiguar el nº de key correspondiente al campo, capturarlo en una variable y hacer un MoveTo hacia el nº de key capturado.
Pensaba que habría una forma más sencilla....
Entiendo que debo de averiguar el nº de key correspondiente al campo, capturarlo en una variable y hacer un MoveTo hacia el nº de key capturado.
Pensaba que habría una forma más sencilla....
Objetivo: Re: ColumnView Y Selección De Campos
última edición por ahtonio el Martes, 21 Diciembre 2010, 20:21; editado 1 vez
Hola de nuevo. Cuando tu insertas o añades un item en el columnview lo haces así
miColumnV.Add(mikey, turesult!Hostname)
El mikey, probablemente será el id que tengas en tu base de datos u otra referencia que sera clave única.
Ese es el key que usarás. No tienes que buscar nada pues ya lo has puesto.
ColumnView.Add (gb.qt)
Syntax
FUNCTION Add ( Key AS String, Text AS String [ , Picture AS Picture, Parent AS String, After AS String ] ) AS .ColumnViewItem
Adds an item to the view.
* Key is the key of the new item.
* Text is the text of the new item.
* Picture is the picture displayed besides the item. By default, no picture is displayed.
* Parent is the key of the parent item where the item will be inserted. By default, the new item is a root item.
* After is the key of an item that the new item will directly follows. This item and the new item must have the same parent. By default, the new item become the last child of its parent.
The newly created item is returned.
Si pones el codigo que usas es posible que te ayude pero como no se la forma de insertar los items, no puedo decirte que función podrías emplear para hacer la selección. Ten en cuenta que cuando selecciones en el columnview el item que queda, perderás el foco del textbox y no podrás seguir escribiendo y ahí es donde no entiendo para que el Columnview con un solo item seleccionado y con un textbox con el mismo texto que en el columnview.
Perdon si no te entiendo.
Antonio
xxx
miColumnV.Add(mikey, turesult!Hostname)
El mikey, probablemente será el id que tengas en tu base de datos u otra referencia que sera clave única.
Ese es el key que usarás. No tienes que buscar nada pues ya lo has puesto.
ColumnView.Add (gb.qt)
Syntax
FUNCTION Add ( Key AS String, Text AS String [ , Picture AS Picture, Parent AS String, After AS String ] ) AS .ColumnViewItem
Adds an item to the view.
* Key is the key of the new item.
* Text is the text of the new item.
* Picture is the picture displayed besides the item. By default, no picture is displayed.
* Parent is the key of the parent item where the item will be inserted. By default, the new item is a root item.
* After is the key of an item that the new item will directly follows. This item and the new item must have the same parent. By default, the new item become the last child of its parent.
The newly created item is returned.
Si pones el codigo que usas es posible que te ayude pero como no se la forma de insertar los items, no puedo decirte que función podrías emplear para hacer la selección. Ten en cuenta que cuando selecciones en el columnview el item que queda, perderás el foco del textbox y no podrás seguir escribiendo y ahí es donde no entiendo para que el Columnview con un solo item seleccionado y con un textbox con el mismo texto que en el columnview.
Perdon si no te entiendo.
Antonio
xxx
última edición por ahtonio el Martes, 21 Diciembre 2010, 20:21; editado 1 vez
Objetivo: Re: ColumnView Y Selección De Campos
Este es el código que crea las columnas y muestra los datos:
DIM i AS Integer
Frame1.Visible = FALSE
ColumnView1.Refresh
ColumnView1.Clear
ColumnView1.Columns.Count = 8
ColumnView1.Columns[0].Text = "Hostname"
ColumnView1.Columns[0].Width = 100
ColumnView1.Columns[0].Alignment = 1
ColumnView1.Columns[1].Text = "Dirección IP"
ColumnView1.Columns[1].Width = 150
ColumnView1.Columns[1].Alignment = 1
ColumnView1.Columns[2].Text = "Hostid"
ColumnView1.Columns[2].Width = 100
ColumnView1.Columns[2].Alignment = 1
ColumnView1.Columns[3].Text = "Ubicación"
ColumnView1.Columns[3].Width = 100
ColumnView1.Columns[3].Alignment = 1
ColumnView1.Columns[4].Text = "Proyecto"
ColumnView1.Columns[4].Width = 150
ColumnView1.Columns[4].Alignment = 1
ColumnView1.Columns[5].Text = "Marca"
ColumnView1.Columns[5].Width = 100
ColumnView1.Columns[5].Alignment = 1
ColumnView1.Columns[6].Text = "Modelo"
ColumnView1.Columns[6].Width = 100
ColumnView1.Columns[6].Alignment = 1
ColumnView1.Columns[7].Text = "Sistema Op."
ColumnView1.Columns[7].Width = 150
ColumnView1.Columns[7].Alignment = 1
Resultado = Conexion.Exec("select * from equipos order by Hostname")
FOR i = 0 TO Resultado.Count - 1 STEP +1
ColumnView1.Add(i, Resultado!Hostname)
ColumnView1[i][1] = Resultado!IP1
ColumnView1[i][2] = Resultado!Hostid
ColumnView1[i][3] = Resultado!Ubicacion
ColumnView1[i][4] = Resultado!Proyecto
ColumnView1[i][5] = Resultado!Marca
ColumnView1[i][6] = Resultado!Modelo
ColumnView1[i][7] = Resultado!Sistema_Operativo
Resultado.MoveNext
NEXT
Lo que quiero hacer es una búsqueda y que el resultado lo resalte.
DIM i AS Integer
Frame1.Visible = FALSE
ColumnView1.Refresh
ColumnView1.Clear
ColumnView1.Columns.Count = 8
ColumnView1.Columns[0].Text = "Hostname"
ColumnView1.Columns[0].Width = 100
ColumnView1.Columns[0].Alignment = 1
ColumnView1.Columns[1].Text = "Dirección IP"
ColumnView1.Columns[1].Width = 150
ColumnView1.Columns[1].Alignment = 1
ColumnView1.Columns[2].Text = "Hostid"
ColumnView1.Columns[2].Width = 100
ColumnView1.Columns[2].Alignment = 1
ColumnView1.Columns[3].Text = "Ubicación"
ColumnView1.Columns[3].Width = 100
ColumnView1.Columns[3].Alignment = 1
ColumnView1.Columns[4].Text = "Proyecto"
ColumnView1.Columns[4].Width = 150
ColumnView1.Columns[4].Alignment = 1
ColumnView1.Columns[5].Text = "Marca"
ColumnView1.Columns[5].Width = 100
ColumnView1.Columns[5].Alignment = 1
ColumnView1.Columns[6].Text = "Modelo"
ColumnView1.Columns[6].Width = 100
ColumnView1.Columns[6].Alignment = 1
ColumnView1.Columns[7].Text = "Sistema Op."
ColumnView1.Columns[7].Width = 150
ColumnView1.Columns[7].Alignment = 1
Resultado = Conexion.Exec("select * from equipos order by Hostname")
FOR i = 0 TO Resultado.Count - 1 STEP +1
ColumnView1.Add(i, Resultado!Hostname)
ColumnView1[i][1] = Resultado!IP1
ColumnView1[i][2] = Resultado!Hostid
ColumnView1[i][3] = Resultado!Ubicacion
ColumnView1[i][4] = Resultado!Proyecto
ColumnView1[i][5] = Resultado!Marca
ColumnView1[i][6] = Resultado!Modelo
ColumnView1[i][7] = Resultado!Sistema_Operativo
Resultado.MoveNext
NEXT
Lo que quiero hacer es una búsqueda y que el resultado lo resalte.
Objetivo: Re: ColumnView Y Selección De Campos
Hola, he estado un poco desconectado y no dispongo del interprete para probarlo, no obstante, la solución más rápida que veo es así:
Aprovechando tu código:
Según entiendo, tienes un textbox que pones el Hostname y necesitas que se resalte ese Item en el ColumnView:
Busco el Index en el Result
Un saludo,
Antonio
Aprovechando tu código:
DIM i AS Integer
Frame1.Visible = FALSE
ColumnView1.Refresh
ColumnView1.Clear
ColumnView1.Columns.Count = 8
ColumnView1.Columns[0].Text = "Hostname"
ColumnView1.Columns[0].Width = 100
ColumnView1.Columns[0].Alignment = 1
ColumnView1.Columns[1].Text = "Dirección IP"
ColumnView1.Columns[1].Width = 150
ColumnView1.Columns[1].Alignment = 1
ColumnView1.Columns[2].Text = "Hostid"
ColumnView1.Columns[2].Width = 100
ColumnView1.Columns[2].Alignment = 1
ColumnView1.Columns[3].Text = "Ubicación"
ColumnView1.Columns[3].Width = 100
ColumnView1.Columns[3].Alignment = 1
ColumnView1.Columns[4].Text = "Proyecto"
ColumnView1.Columns[4].Width = 150
ColumnView1.Columns[4].Alignment = 1
ColumnView1.Columns[5].Text = "Marca"
ColumnView1.Columns[5].Width = 100
ColumnView1.Columns[5].Alignment = 1
ColumnView1.Columns[6].Text = "Modelo"
ColumnView1.Columns[6].Width = 100
ColumnView1.Columns[6].Alignment = 1
ColumnView1.Columns[7].Text = "Sistema Op."
ColumnView1.Columns[7].Width = 150
ColumnView1.Columns[7].Alignment = 1
Resultado = Conexion.Exec("select * from equipos order by Hostname")
FOR EACH Resultado
ColumnView1.Add(Resultado.Index, Resultado!Hostname)
ColumnView1[i][1] = Resultado!IP1
ColumnView1[i][2] = Resultado!Hostid
ColumnView1[i][3] = Resultado!Ubicacion
ColumnView1[i][4] = Resultado!Proyecto
ColumnView1[i][5] = Resultado!Marca
ColumnView1[i][6] = Resultado!Modelo
ColumnView1[i][7] = Resultado!Sistema_Operativo
NEXT
Frame1.Visible = FALSE
ColumnView1.Refresh
ColumnView1.Clear
ColumnView1.Columns.Count = 8
ColumnView1.Columns[0].Text = "Hostname"
ColumnView1.Columns[0].Width = 100
ColumnView1.Columns[0].Alignment = 1
ColumnView1.Columns[1].Text = "Dirección IP"
ColumnView1.Columns[1].Width = 150
ColumnView1.Columns[1].Alignment = 1
ColumnView1.Columns[2].Text = "Hostid"
ColumnView1.Columns[2].Width = 100
ColumnView1.Columns[2].Alignment = 1
ColumnView1.Columns[3].Text = "Ubicación"
ColumnView1.Columns[3].Width = 100
ColumnView1.Columns[3].Alignment = 1
ColumnView1.Columns[4].Text = "Proyecto"
ColumnView1.Columns[4].Width = 150
ColumnView1.Columns[4].Alignment = 1
ColumnView1.Columns[5].Text = "Marca"
ColumnView1.Columns[5].Width = 100
ColumnView1.Columns[5].Alignment = 1
ColumnView1.Columns[6].Text = "Modelo"
ColumnView1.Columns[6].Width = 100
ColumnView1.Columns[6].Alignment = 1
ColumnView1.Columns[7].Text = "Sistema Op."
ColumnView1.Columns[7].Width = 150
ColumnView1.Columns[7].Alignment = 1
Resultado = Conexion.Exec("select * from equipos order by Hostname")
FOR EACH Resultado
ColumnView1.Add(Resultado.Index, Resultado!Hostname)
ColumnView1[i][1] = Resultado!IP1
ColumnView1[i][2] = Resultado!Hostid
ColumnView1[i][3] = Resultado!Ubicacion
ColumnView1[i][4] = Resultado!Proyecto
ColumnView1[i][5] = Resultado!Marca
ColumnView1[i][6] = Resultado!Modelo
ColumnView1[i][7] = Resultado!Sistema_Operativo
NEXT
Según entiendo, tienes un textbox que pones el Hostname y necesitas que se resalte ese Item en el ColumnView:
Busco el Index en el Result
Un saludo,
Antonio
Página 1 de 1
No puede crear mensajesNo 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
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.1691s (PHP: 14% SQL: 86%)
Consultas SQL: 24 - Debug off - GZIP Activado