Alberto59   28-11-2023, 13:53
#1
Por favor podeis ayudarme-

Como posiciono la ultima fila en un Tableview.


Gracias.
vuott   28-11-2023, 16:31
#2
(28-11-2023, 13:53)Alberto59 escribió: Como posiciono la ultima fila en un Tableview.

No comprendo la pregunta.
Confused "posicionar la ultima fila"

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
Alberto59   28-11-2023, 19:13
#3
Dentro del tableview hay datos ,filas,columnas....pues bien,como posicionar en la ultima fila el foco.

Por lo tanto como mostar la ultima fila del Tablaview.

Saludos.
vuott   28-11-2023, 21:03
#4
Confused Probablemente quieras saber, teniendo una "TableView" que tiene numerosas filas, cómo mostrar la última fila automáticamente, sin tener que actuar manualmente sobre la "ScrollBar" lateral.

Tienes que especificar la última fila y utilizar su método ".EnsureVisible".
Código:
Public Sub Form_Open()

  With TableView1
    .Columns.Count = 3
    .Rows.Count = 30
    .Rows[.Rows.Max].EnsureVisible()
  End With

End
Última modificación: 28-11-2023, 21:14 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
Shell   28-11-2023, 21:34
#5
Existe un problema si no usas la propiedad Mode. Para saber el tipo de selección que quieres usar con las filas

Vuott ha entendido que querías desplazar la barra lateral del control. No es eso exactamente.
Alberto quiere situarse en el la última fila del TableView. Seleccionando esta.

Tanto GridView como TableView son controles parecidos.
Entonces podemos hacer, usando el código de Vuott.

Código:
       With TableView1
    .Columns.Count = 3
    .Rows.Count = 30
    '.Rows[TableView1.Rows.Max].EnsureVisible
    .Mode = Select.Single
  End With
 
  'Esto parte la situamos donde queramos hacerlo. Un botón por ejemplo
  TableView1.Rows.Select(TableView1.Rows.Max)

Alberto, un consejo, tienes que estudiar las propiedades de los controles, es la mejor forma de descubrir
que hace cada una. Probarlas, ver que hace al cambiarla. No te desesperes, practica. Aprende las principales,
para diseñar el control. Cuantas filas tienes, cuantas columnas, como se selecciona, sus eventos y luego
vas ampliando.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shell   28-11-2023, 22:58
#6
Para que veas que estos controles son "casi" parecidos. Vamos a ver de modo sencillo información sobre ellos.

Código:
Private ogridview As GridView
Private otableview As TableView

Public Sub Form_Open()

'Definimos los controles

'Me es el contenedor del control gridview1. El formulario
ogridview = New GridView(Me) As "Manejador1"
'Me es el contenedor del control tableview1. El formulario
otableview = New TableView(Me) As "Manejador2"

With ogridview
  .Columns.Count = 10
  .Rows.Count = 10
  .X = 10
  .Y = 10
  .W = 200
  .H = 100
End With

With otableview
  .Columns.Count = 10
  .Rows.Count = 10
  .X = ogridview.W + 20
  .Y = 10
  .W = 200
  .H = 100
End With

MostrarInfObjeto(ogridview)
Print
MostrarInfObjeto(otableview)

End

Public Sub MostrarInfObjeto(oobjeto As Object)

Print "Nombre de la clase a la que pertenece: " & Object.Class(oobjeto).Name
Print "Nombre del componente que lo contiene: " & Object.Class(oobjeto).Component.Name  'Returns the name of a component."
Print "Nombre del componente padre que contiene la clase: " & Object.Class(oobjeto).Parent.Component.Name 'Returns the component name this class belongs to
Print "Nombre de la clase padre que hereda: " & Object.Class(oobjeto).Parent.Name 'Returns the name of the class that inherits.
  
End

Salida:
 
Cita:Nombre de la clase a la que pertenece: GridView
Nombre del componente que lo contiene: gb.gui.base
Nombre del componente padre que contiene la clase: gb.qt5
Nombre de la clase padre que hereda: UserControl

Nombre de la clase a la que pertenece: TableView
Nombre del componente que lo contiene: gb.form
Nombre del componente padre que contiene la clase: gb.gui.base
Nombre de la clase padre que hereda: GridView

TableView hereda de GridView, su padre. Tiene propiedades de este.
De ahí la similitud.

P.d Rectificar la salida el resto de los compañeros, para que quede más clara la salida mostrada. Angel
Ya que en vez de clase,  pertenece a un componente, etc.

Saludos
Última modificación: 28-11-2023, 23:09 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Alberto59   29-11-2023, 21:33
#7
Muchas gracias por contestar a los dos.Pero en especial a shell,GRACIAS-

Estuve investigando por mi mismo y encontre la forma,el error era Mode=single,por eso no me salia.

De todas formas os agradezco a los dos.

GRACIAS
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.