Me.datosCLientes.Rows(fila.Index).Selected = True
Me.datosCLientes.FirstDisplayedScrollingRowIndex = fila.Index
Gracias
|
|
#1 (permalink) |
![]() Fecha de Ingreso: marzo-2008
Mensajes: 40
|
AYUDAAAA gridviewrow
Me.datosCLientes.Rows(fila.Index).Selected = True Me.datosCLientes.FirstDisplayedScrollingRowIndex = fila.Index Gracias |
|
|
|
|
|
#4 (permalink) |
![]() Fecha de Ingreso: diciembre-2004
Mensajes: 452
|
Re: AYUDAAAA gridviewrow
Podria poner el sub kompleto please, seria mas facil ver que puede estar pasando
__________________
martinchavezf@hotmail.com |
|
|
|
|
|
#6 (permalink) |
![]() Fecha de Ingreso: marzo-2008
Mensajes: 40
|
Re: AYUDAAAA gridviewrow
Hola! He conseguido quitar esos fallos, pero tengo otros y ya no se que hacer!
Os mando el codigo completo para que lo veais. MUCHAS GRACIAS. EL FALLO QUE ME DA: Error 1 'ClearSelection' no es un miembro de 'System.Web.UI.WebControls.DataGrid'. Error 2 El tipo 'DataGridViewRow' no está definido. Error 3 'Rows' no es un miembro de 'System.Web.UI.WebControls.DataGrid'. EL CODIGO DEL CODEBEHIND: Imports System Imports System.Data Imports System.Data.OleDb Imports Microsoft.VisualBasic Partial Class Inmobiliarias_mientrasescribe Inherits System.Web.UI.Page Private da As OleDbDataAdapter Private dt As DataTable Private filas As DataGrid Private iniciando As Boolean = True Private conexion As String ="Provider=MSDAORA;Data Source=nombre;Password=pass;User ID=usu" Private seleccion As String = _ "SELECT inmobiliaria, zona FROM nerea2_inmobiliarias" Private Sub Form1_Load( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles MyBase.Load Me.txtApellidos.Text = "" da = New OleDbDataAdapter(seleccion, conexion) dt = New DataTable da.Fill(dt) Me.datosClientes.DataSource = dt iniciando = False End Sub Private Sub txtApellidos_TextChanged( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles txtApellidos.TextChanged If iniciando Then Exit Sub ' Buscar en el DataTable usando el método Select ' que es como un filtro WHERE en una cadena de selección. ' El resultado se devuelve como un array de tipo DataRow Dim filas() As DataRow ' Si solo quieres mostrar los que empiecen por lo escrito. ' Al escribir "s" se buscarán los que empiecen por esa letra. filas = dt.Select("inmobiliaria LIKE '" & txtApellidos.Text & "%'") ' Borrar los elementos anteriores Me.listaApellidos.Items.Clear() ' Si hay datos, mostrar los apellidos If filas.Length > 0 Then ' Recorrer cada fila y mostrar los apellidos For Each dr As DataRow In filas Me.listaApellidos.Items.Add( _ dr("inmobiliaria").ToString & ", " & _ dr("zona").ToString) Next End If End Sub Private Sub listaApellidos_SelectedIndexChanged( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles listaApellidos.SelectedIndexChanged If iniciando Then Exit Sub ' Al hacer clic, mostrar el dato Me.txtApellidos.Text = Me.listaApellidos.SelectedItem.ToString ' Buscarlo en el DataGridView (de forma manual, no conozco otra forma...) ' Eliminar las selecciones anteriores Me.datosClientes.ClearSelection() For Each fila As DataGridViewRow In Me.datosClientes.Rows ' Si es el mismo apellido del textBox ' Curiosamente si no son los mismos datos ' se produce un error de que d.Cells(...) es Nothing ' En realidad de "curioso" no tiene nada, ' es que es la última fila, que está vacía... If fila.Cells("inmobiliaria").Value Is Nothing _ OrElse fila.Cells Is Nothing Then Continue For End If ' Si se quiere tener en cuenta el nombre y los apellidos Dim i As Integer = Me.txtApellidos.Text.IndexOf(",") If i > -1 Then ' En este ejemplo, el formato es Apellidos, Nombre Dim nombre, apellidos As String apellidos = Me.txtApellidos.Text.Substring(0, i).TrimEnd() nombre = Me.txtApellidos.Text.Substring(i + 1).TrimStart() If nombre = fila.Cells("zona").Value.ToString _ AndAlso apellidos = fila.Cells("inmobiliaria").Value.ToString Then ' Seleccionamos la fila Me.datosClientes.Rows(fila.Index).Selected = True ' nos aseguramos de que sea visible Me.datosClientes.FirstDisplayedScrollingRowIndex = fila.Index Exit For End If Else If Me.txtApellidos.Text = fila.Cells("inmobiliaria").Value.ToString Then ' Seleccionamos la fila Me.datosClientes.Rows(fila.Index).Selected = True ' nos aseguramos de que sea visible Me.datosClientes.FirstDisplayedScrollingRowIndex = fila.Index Exit For End If End If Next End Sub End Class |
|
|
|
|
|
#7 (permalink) |
![]() Fecha de Ingreso: julio-2007
Mensajes: 294
|
Re: AYUDAAAA gridviewrow
Hola nenure,
Prueba a ver si esto arregla los errores: 1: Esto quiere decir que ese metodo no esta disponible en el datagrid, intenta buscar uno parecido. 2: Intenta utilizar GridViewRow en lugar de DataGridViewRow 3: Prueba con items en lugar de rows Saludos |
|
|
|
|
|
#8 (permalink) |
![]() Fecha de Ingreso: marzo-2008
Mensajes: 40
|
Re: AYUDAAAA gridviewrow
Hola Javier! Muchas gracias lo primero por contestar. He hecho lo que me has pedido excepto lo de cambiar items por Rows que no me deja, pero ahora me da otra serie de errores:
'FirstDisplayedScrollingRowIndex' no es un miembro de 'System.Web.UI.WebControls.GridView'. 'Index' no es un miembro de 'System.Web.UI.WebControls.GridViewRow'. no se que hacer... |
|
|
|
|
|
#9 (permalink) |
![]() Fecha de Ingreso: diciembre-2004
Mensajes: 452
|
Re: AYUDAAAA gridviewrow
Basikamente ke necesitas hacer, kual es el fin, por ke no entiendo esa parte.
__________________
martinchavezf@hotmail.com |
|
|
|
|
|
#10 (permalink) |
![]() Fecha de Ingreso: marzo-2008
Mensajes: 40
|
Re: AYUDAAAA gridviewrow
Hola, lo que quiero hacer es que teniendo un textbox, un listbox y un gridview, me vaya buscando en el gridview lo que voy escribiendo en el textbox, es decir, yo escribo "r" en el textbox, entonces en el listbox me aparecen todos los que empiezan por r, y cuando selecciono del listbox, me selecciona en el gridview. Espero que se entienda. Gracias.
|
|
|
|
|
|
#11 (permalink) |
![]() Fecha de Ingreso: julio-2007
Mensajes: 294
|
Re: AYUDAAAA gridviewrow
Hola,
Podrias decirnos en que parte exactamente del codigo te da esos errores, que creo deben ser de compilacion?, Es decri, copia el codigo y pon de otro color lo que te sale subrayado con dientes de sierra en el visual studio Saludos |
|
|
|
|
|
#12 (permalink) |
![]() Fecha de Ingreso: marzo-2008
Mensajes: 40
|
Re: AYUDAAAA gridviewrow
Imports System
Imports System.Data Imports System.Data.OleDb Imports Microsoft.VisualBasic Partial Class Inmobiliarias_mientrasescribe Inherits System.Web.UI.Page Private da As OleDbDataAdapter Private dt As DataTable Private filas As DataGrid Private iniciando As Boolean = True Private conexion As String ="Provider=MSDAORA;Data Source=nombre;Password=pass;User ID=usu" Private seleccion As String = _ "SELECT inmobiliaria, zona FROM nerea2_inmobiliarias" Private Sub Form1_Load( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles MyBase.Load Me.txtApellidos.Text = "" da = New OleDbDataAdapter(seleccion, conexion) dt = New DataTable da.Fill(dt) Me.datosClientes.DataSource = dt iniciando = False End Sub Private Sub txtApellidos_TextChanged( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles txtApellidos.TextChanged If iniciando Then Exit Sub ' Buscar en el DataTable usando el método Select ' que es como un filtro WHERE en una cadena de selección. ' El resultado se devuelve como un array de tipo DataRow Dim filas() As DataRow ' Si solo quieres mostrar los que empiecen por lo escrito. ' Al escribir "s" se buscarán los que empiecen por esa letra. filas = dt.Select("inmobiliaria LIKE '" & txtApellidos.Text & "%'") ' Borrar los elementos anteriores Me.listaApellidos.Items.Clear() ' Si hay datos, mostrar los apellidos If filas.Length > 0 Then ' Recorrer cada fila y mostrar los apellidos For Each dr As DataRow In filas Me.listaApellidos.Items.Add( _ dr("inmobiliaria").ToString & ", " & _ dr("zona").ToString) Next End If End Sub Private Sub listaApellidos_SelectedIndexChanged( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles listaApellidos.SelectedIndexChanged If iniciando Then Exit Sub ' Al hacer clic, mostrar el dato Me.txtApellidos.Text = Me.listaApellidos.SelectedItem.ToString ' Buscarlo en el DataGridView (de forma manual, no conozco otra forma...) ' Eliminar las selecciones anteriores Me.datosClientes.ClearSelection() For Each fila As DataGridViewRow In Me.datosClientes.Rows ' Si es el mismo apellido del textBox ' Curiosamente si no son los mismos datos ' se produce un error de que d.Cells(...) es Nothing ' En realidad de "curioso" no tiene nada, ' es que es la última fila, que está vacía... If fila.Cells("inmobiliaria").Value Is Nothing _ OrElse fila.Cells Is Nothing Then Continue For End If ' Si se quiere tener en cuenta el nombre y los apellidos Dim i As Integer = Me.txtApellidos.Text.IndexOf(",") If i > -1 Then ' En este ejemplo, el formato es Apellidos, Nombre Dim nombre, apellidos As String apellidos = Me.txtApellidos.Text.Substring(0, i).TrimEnd() nombre = Me.txtApellidos.Text.Substring(i + 1).TrimStart() If nombre = fila.Cells("zona").Value.ToString _ AndAlso apellidos = fila.Cells("inmobiliaria").Value.ToString Then ' Seleccionamos la fila Me.datosClientes.Rows(fila.Index).Selected = True ' nos aseguramos de que sea visible Me.datosClientes.FirstDisplayedScrollingRowIndex = fila.IndexExit For End If Else If Me.txtApellidos.Text = fila.Cells("inmobiliaria").Value.ToString Then ' Seleccionamos la fila Me.datosClientes.Rows(fila.Index).Selected = True ' nos aseguramos de que sea visible Me.datosClientes.FirstDisplayedScrollingRowIndex = fila.Index Exit For End If End If Next End Sub End Class |
|
|
|
|
|
#13 (permalink) |
![]() Fecha de Ingreso: julio-2007
Mensajes: 294
|
Re: AYUDAAAA gridviewrow
Hola,
Vamos a ver estos errores de compliacion los tienes porque estas intentando utilizar metodos que no estan disponibles en un gridview ni en un gridviewrow. Primero fila es un gridviewrow o lo que es lo mismo una fila de un gridview. La fila como tal no tiene indice, por lo que no puedes utilizarlo como "fila.index" Si quieres saber que fila seleccionastes necesitaras llevar un contador en el bucle siguiente: Código PHP:
Me.datosClientes.FirstDisplayedScrollingRowIndex -> Creo que se solucionara con lo del index de la fila, porque siempre que te da lo asignas al fila.index que ya hemos dicho que esta mal. Me.datosClientes.ClearSelection() -> Si quieres limpiar la seleccion en un gridview prueba con selectionindex=-1 Saludos |
|
|
|
|
|
#15 (permalink) |
![]() Fecha de Ingreso: julio-2007
Mensajes: 294
|
Re: AYUDAAAA gridviewrow
Vamos a ver viendolo mas en profundidad te reescribo un poco el for porque no entiendo muy bien que haces en el. Supongo que quieres que cuando aparezca un afila con inmobiliarias <> "" recoger esa fila. Alla vamos
Código PHP:
Espero que te sirva, saludos |
|
|
|
|
|
#16 (permalink) |
![]() Fecha de Ingreso: marzo-2008
Mensajes: 40
|
Re: AYUDAAAA gridviewrow
hola... lo siento pero no me sale. Mira, mi idea es esta pero con el gridview que tengo, ojala puedas buscarle solucion, es que necesito hacerlo:
http://www.elguille.info/NET/ADONET/autoCompletar_basedatos.htm Muchas gracias... |
|
|
|
|
|
#17 (permalink) |
![]() Fecha de Ingreso: julio-2007
Mensajes: 294
|
Re: AYUDAAAA gridviewrow
Hola he leido el articulo y viene todo perfectamente explicado (mejor de lo que lo haremos nosotros aqui en trozos de codigo suelto). Lo mejor es que lo pruebes asi y luego intentes cambiarlo para meter tu gridview (el cambio deberia ser muy sencillo, pero puede haber metodos o atributos que no sean del todo iguales).
|
|
|
|
|
|
#19 (permalink) |
![]() Fecha de Ingreso: julio-2007
Mensajes: 294
|
Re: AYUDAAAA gridviewrow
Vamos a ver si con esto te vale:
Código PHP:
Saludos |
|
|
|