Usuario
Busqueda Filtrada por textbox...

Pregunta
-
Hola Gente ! una nueva duda ya logre hacer que me busque por coincidencia lo que ingreso en un Textbox.. ahora mi duda es una ves que me muestra los resultados en el Datagridview como hago para al seleccionar el deseado me lo refleje en otros textbox.. por ejemplo
Busco : Pantalon levis clasico.. y que al seleccionarlo en el datagridview me refleje en textboxs las columnas de mi tabla ..
Producto : Pantalon levis clasico
Stock :15
Detalle : etc,etc
Precio :500
Graciass ! espero puedan guiarme un saludo !
Juan.
Todas las respuestas
-
Hola,
Primero en tu DGV activa estás propiedades
'Selecciona toda la fila SelectionMode = FullRowSelect 'Permitir solo seleccionar una fila MultiSelect = False
Luego en el evento SelectionChanged obtienes la fila seleccionada y cargas los valores a los TextBox.
Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged Dim fila As Integer = DataGridView1.SelectedRows(0).Index 'Donde Cells(valor) -> valor representa a la columna 'Cells(0) -> columna 1 y asi sucesivamente txtProducto.Text = DataGridView1.Rows(fila).Cells(0).Value txtStock.Text = DataGridView1.Rows(fila).Cells(1).Value txtDetalle.Text = DataGridView1.Rows(fila).Cells(2).Value txtPrecio.Text = DataGridView1.Rows(fila).Cells(3).Value End Sub
Saludos.
JC NaupaCrispín
-
Hola Joel ! Gracias por responder.
En el Evento SelectionChanged me sale : form1.load
JfbprodBindingNavigatorSaveItem_Click
ProductoTextBox1_TextChanged (que es el que uso para buscar)
no entiendo como es el codigo:( soy muy nuevo.. en cells(valor) que va por ejemplo ? y en Cells(0) tambien disculpa la molestia
'Donde Cells(valor) -> valor representa a la columna 'Cells(0) -> columna 1 y asi sucesivamente txtProducto.Text = DataGridView1.Rows(fila).Cells(0).Value txtStock.Text = DataGridView1.Rows(fila).Cells(1).Value txtDetalle.Text = DataGridView1.Rows(fila).Cells(2).Value txtPrecio.Text = DataGridView1.Rows(fila).Cells(3).Value
-
Hola,
En el Evento SelectionChanged me sale : form1.load
Solo tienes que seleccionar tu DGV, ir a eventos, buscar SelectionChanged y dar doble click
Como puedes ver mi DGV tienes 4 columnas, siempre las posiciones comienzan de 0
Column1 -> posición 0 Column2 -> posición 1 Column3 -> posición 2 Column4 -> posición 3
'Rows(fila) ---> la fila que seleccionaste
'Cells(0) ---> Representa a l columna, según mi DGV Column1 (posición 0) txtProducto.Text = DataGridView1.Rows(fila).Cells(0).Value
o también puedes poner el nombre de la columna
txtProducto.Text = DataGridView1.Rows(fila).Cells("Column1").Value
Saludos.
JC NaupaCrispín
-
entonces quedaria asi ?
Dim fila As Integer = DataGridView1.SelectedRows(0).Index
prodtextbox.text = DatagridView1.rows(fila).cells ("Productos").value
Stocktextbox.text =DatagridView1.rows(fila).cells ("Stock").value
y asi hasta completar mis columnas ? -
-
-
Hola,
Puedes intentar poniendo los índices (0, 1 , 2, etc),
Tus columnas los agregas en tiempo de diseño??, porque es diferente el nombre de columna y el texto que se muestra.
Si no es la solución deberías mostrar como llenas los datos, datatable, lista, etc..
Saludos.
JC NaupaCrispín
-
Hola ! tengo las tablas echas en access ..
mira intente asi ..
Dim fila As Integer = JfbprodDataGridView.SelectedRows(0).Index
ProductoTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(0).Value
DetalleRichTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(1).Value
StockTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(2).Value
Precio__TextBox.Text = JfbprodDataGridView.Rows(fila).Cells(3).Valuerefleja los datos en los textbox pero al querer buscar algo sale ese error : Dim fila As Integer = JfbprodDataGridView.SelectedRows(0).Index
El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro: index
- Editado JuanJfb jueves, 24 de marzo de 2016 4:38
-
Hola,
Ese error es porque seguro al buscar, tu DGV se queda sin filas, y el seleccionado se pierde y queda en -1, valida antes de obtener los datos.
If JfbprodDataGridView.Rows.Count > 0 Then Dim fila As Integer = JfbprodDataGridView.SelectedRows(0).Index ProductoTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(0).Value DetalleRichTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(1).Value StockTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(2).Value Precio__TextBox.Text = JfbprodDataGridView.Rows(fila).Cells(3).Value End If
Saludos.
JC NaupaCrispín
-
-
-
te paso todo el form3...
Imports System.Data.OleDb Public Class Form3 Dim con As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0;DATA SOURCE = C:\DATABASES\jfb.mdb") Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'JfbDataSet.jfbprod' table. You can move, or remove it, as needed. Me.JfbprodTableAdapter.Fill(Me.JfbDataSet.jfbprod) CARGADATOS() End Sub Sub CARGADATOS() Dim carga As New OleDbDataAdapter("SELECT * FROM jfbprod", con) Dim ds As New DataSet carga.Fill(ds, "jfbprod") JfbprodDataGridView.DataSource = ds.Tables("jfbprod") End Sub Sub FILTRAR() Dim carga As New OleDbDataAdapter("SELECT * FROM jfbprod WHERE Producto LIKE '%" & ProductoTextBox1.Text & "%'", con) Dim ds As New DataSet carga.Fill(ds, "jfbprod") JfbprodDataGridView.DataSource = ds.Tables("jfbprod") End Sub Private Sub JfbprodBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.JfbprodBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.JfbDataSet) End Sub Private Sub JfbprodDataGridView_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JfbprodDataGridView.SelectionChanged Me.JfbprodTableAdapter.Fill(Me.JfbDataSet.jfbprod) If JfbprodDataGridView.Rows.Count > 0 Then Dim fila As Integer = JfbprodDataGridView.SelectedRows(0).Index IdTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(0).Value ProductoTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(1).Value DetalleRichTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(2).Value StockTextBox.Text = JfbprodDataGridView.Rows(fila).Cells(3).Value Precio__TextBox.Text = JfbprodDataGridView.Rows(fila).Cells(4).Value End If End Sub Private Sub ProductoTextBox1_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProductoTextBox1.TextChanged FILTRAR() End Sub End Class