Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Quitar barrar de desplazamiento en Datagrid

1,306 views
Skip to first unread message

Nacho

unread,
Sep 5, 2008, 9:13:24 PM9/5/08
to
Que tal compañeros
Como puedo quitar las barras de desplazamiento (vertical y horizontal)
cuando las filas sobrepasan el datagrid, como podria seguir aumentando
renglones sin ningun problema y ademas poder navegar en el grid con
las flechas.

saludos
Nacho

SoftJaén

unread,
Sep 6, 2008, 3:15:56 AM9/6/08
to
"Nacho" preguntó:

> Como puedo quitar las barras de desplazamiento (vertical y horizontal)

Hola, Nacho:

Si te refieres al control DataGridView (que es un control parecido pero
completamente distinto al control DataGrid), ejecutarías lo siguiente:

' Impedimos que aparezcan las barras de desplazamiento.
DataGridView1.ScrollBars = ScrollBars.None

> cuando las filas sobrepasan el datagrid, como podria seguir aumentando

> renglones sin ningun problema ...

Si el control DataGridView se encuentra asociado a un objeto DataTable,
cuando desees añadir una nueva fila ejecutarías lo siguiente:

' Referenciamos el objeto DataTable asociado al control DataGridView.
'
Dim dt As DataTable = DirectCast(DataGridView1.DataSource, DataTable)

' Añadimos una nueva fila
'
Dim row As DataRow = dt.NewRow
dt.Rows.Add(row)

With Me.DataGridView1
' Seleccionamos la primera columna de la nueva
' fila añadida.
'
.CurrentCell = .Rows(.RowCount - 1).Cells(0)
End With

Se entiende que previamente has impedido que el usuario pueda añadir filas
automáticamente al control DataGridView, porque de lo contrario, poco
sentido tiene ejecutar lo anterior:

' Impedimos que el usuario añada nuevas filas.
'
DataGridView1.AllowUserToAddRows = False

> ... y ademas poder navegar en el grid con las flechas.

¿Que pasa? ¿Que no puedes navegar por el control DataGridView utilizando las
teclas de dirección (flechas)?

Si es así, lo único que se me ocurre es que revises el valor de la propiedad
«SelectionMode». Su valor por defecto (RowHeaderSelect) permite seleccionar
las distintas celdas del control utilizando las teclas de dirección.

Un saludo

--
Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Nacho

unread,
Sep 6, 2008, 1:47:27 PM9/6/08
to

Gracias Enrique por tu respuesta, pero no tengo el DataGridView, o
como podria hacer ya que es una caja registradora donde voy escaneando
lo articulos y se van capturando en el datagrid. pero cuando sobrepasa
el tamaño se ponen las barras y se desacomoda todo.

Muchas Gracias
Nacho

SoftJaén

unread,
Sep 7, 2008, 7:44:28 AM9/7/08
to
"Nacho" escribió:

> no tengo el DataGridView, ...

¡Vaya por Dios! Si utilizas Visual Basic 2005 ó 2008, lo mejor que puedes
hacer es utilizar el control DataGridView, ya que ofrece más posibilidades
que el control DataGrid de versiones anteriores de .net.

En cuanto a ocultar las barras de desplazamiento, ignoro por ahora que
puedes hacer para evitar que aparezcan. Consulta en la ayuda de Visual
Studio las propiedades del control DataGrid, para ver si alguna cumple igual
de bien que la propiedad «ScrollBars» del control DataGridView.

> como podria hacer ya que es una caja registradora donde voy escaneando
> lo articulos y se van capturando en el datagrid. pero cuando sobrepasa
> el tamaño se ponen las barras y se desacomoda todo.

De escanear no tengo ni idea, pero si el escaneo de un artículo produce una
serie de datos que posibilita añadir una nueva fila mediante código fuente
al control DataGrid, siempre y cuando éste control se encuentre asociado a
un objeto DataTable, en mi anterior mensaje te expliqué lo que tienes que
hacer. Por supuesto, los datos del escaneo los tendrás que escribir en las
correspondientes columnas del control DataGrid, es decir, en los
correspondientes campos del objeto DataRow que intentas añadir
automáticamente al objeto DataTable.

Si no se encuentra asociado a un objeto DataTable, antes que me lo preguntes
te responderé que desconozco otra manera de añadir filas de una manera
automática.

Desde luego, poco tiene que ver el Asunto de tu mensaje con el escaneo de
datos. Si lo crees oportuno, mejor será que inicies un nuevo mensaje, con un
Asunto más descriptivo, para ver si otros usuarios del grupo conocen la
manera de añadir filas a un control DataGrid como resultado de escanear
artículos en una caja registradora.

Para que los usuarios no tengan dudas, aclara bien en tu mensaje que se
trata del control DataGrid clásico, no del nuevo control DataGridView.

0 new messages