Validaciones

Iniciado por piwi, 5 Julio 2010, 20:58 PM

0 Miembros y 2 Visitantes están viendo este tema.

[D4N93R]

No entendí la pregunta  ;D

piwi

En el datagridview tengo dos campos de tipo combobox, uno es fabricante y otro producto. En el momento que selecciono el fabricante, me filtra los productos de este.
Lo que quiero es dejar el producto a nulo después de seleccionar el fabricante para así en caso que seleccione otro fabricante, no me quede el producto del anterior fabricante.

Un saludo.

[D4N93R]

Pero ya vaaa, tu quieres filtrar con los combobox que estan Dentro del Datagrid? Puedes postear un Screenshot de tu formulario por favor.

piwi

Perdón por la tardanza pero he estado un poco liado con otros temas.
Aquí pongo la captura.


Basicamente lo que tengo son tres origenes de datos, uno licencias que es el que está en el formulario y otros tres que son producto, cliente y local que serán lo que utilizaré en los combobox como muestro en el ejemplo.
El problema lo tengo que si doy a un registro nuevo y en un combobox selecciono un valor, no me deja pasar el foco a otro campo ni hacer nada, como si se bloqueara, solamente seleccionar otro valor del combo.

Como hay que utilizar un combobox que me muestre el nombre del cliente y que contenga la idcliente y lo guarde en licencias?

Gracias por todo.

seba123neo

la verdad no se como lo estas haciendo, no lei todo el topic, pero para cargar un combo lo podes hacer de varias formas, yo no opto por usar los bindingnavigator o como se llamen y enlazar los controles con sus datasources, prefiero escribir codigo y hacerlo todo en clases, si es posible en 3 capas, sino te lias con los origenes de datos, me acuerdo en visual basic 6 con los controles DATA y ADOC se hacia asi  :xD, pero eso es prehistoria ya, pero bueno cada uno lo hace como puede o como le enseñaron.

yo para cargar un combo directamente tengo un metodo que me devuelve un datareader y con eso lo recorro y asigno los valores, es lo unico que te puedo decir ya que no uso esa forma.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

piwi

Hola seba123neo

El problema que estoy aprendiendo a marchas forzadas. También lo he intentado de otra forma

Imports System.Data.SqlClient

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'LicenciasDataSet.LICENCIAS' Puede moverla o quitarla según sea necesario.
        Me.LICENCIASTableAdapter.Fill(Me.LicenciasDataSet.LICENCIAS)

        Dim Conexion As String = "Data Source=192.1681.1;Initial Catalog=prueba;user id = piwi; password = piwi;"
        Dim da As New SqlDataAdapter("select codcliente, nombrecliente from clientes where codcliente < 5", Conexion)
        Dim ds As New DataSet

        da.Fill(ds)

        Try

            IDLOCALComboBox.DataSource = ds.Tables(0)
            IDLOCALComboBox.ValueMember = "codcliente"
            IDLOCALComboBox.DisplayMember = "nombrecliente"
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub



    Private Sub LICENCIASBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LICENCIASBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.LICENCIASBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.LicenciasDataSet)

    End Sub
End Class


Me pasa lo mismo, en el momento que selecciono algo, se queda bloqueado y no me deja salir del combobox.

Me podrias explicar o ponerme un codigo para ver la forma correcta de hacerlo?

Gracias.

piwi

Por si a alguien le puede ayudar, me respondo a mi mismo

Hay veces que al añadirlo de forma automática, la propiedad que pone como databinding es la propiedad "Text" cuando debería ser "SelectedValue".

Para solucionarlo vamos a las propiedades y en la sección "DataBindings" quitamos el binding de la propiedad "Text" y lo ponemos en la propiedad "SelectedValue"

[D4N93R]

Sigo sin entender, no era un DataGridView en donde tenías el problema?  Ahora tienes es un formulario :-X  No entiendou!!


piwi

Buenas.

Cuando empecé lo estaba haciendo en un datagrid y lo he conseguido pero me he encontrado con problema que eran varios campos y no me gusta dejar una barra de desplazamiento horizontal porque lo veo poco practico y lo he intentado hacer sin datagridview para que sea más comodo.
De todos modos he dejado una captura de pantalla unos post más abajo donde se ve que lo hacía con campos sueltos.

piwi

Cuando doy a nuevo en Bindingnavigator, en que evento puedo darle valor a una caja de texto?
Lo he probado en BindingNavigatorAddNewItem_Click pero este evento se produce justo al dar al boton nuevo así que me inserta el valor en la caja y después me inserta un registro nuevo.
Yo lo que quiero es asignar el valor en el nuevo registro.