Ver Mensaje Individual
  #3  
Antiguo 25-09-2023
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Reputación: 21
elrayo76 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No se entiende bien el problema, los datos que se mostrarán serán los que devuelve la setencia sql utilizada.
Vuelvo a explicar lo que necesito.

Digamos que tengo una primer columna con un código y que la que sigue es la del ComboBox.

Lo que necesito es que al momento que se llena la grilla ese ComboBox no me traiga todos los items de una tabla, sino que traiga los filtrados por ese código. El problema es que ese código puede ser distinto en cada una de las filas. Por esto es que llamo a un SP que por cada fila debería traer los datos que corresponden al código.

El problema no es como mostrar el ComboBox, sino como hacer para que en cada fila quede filtrado el ComboBox. Logro cargar el ComboBox con los datos que me trae el SP, pero cuando se terminan de cargar todas las filas con los datos todos los Combos quedan con los mismos items y no con los que corresponden.

Para cargar los Combos hago algo como lo siguiente. Esto es mas una prueba que otra cosa, porque no se como hacerlo.

Código:
            
            for (nRow = 0; nRow < dgv_Detalles.Rows.Count; nRow++)
            {
                dgv_Detalles.EndEdit();

                DataTable dt;
                // Creo que esto hay que cambiarlo, pero no veo como obtener cada una de las filas al momento que se cargan.
                int rowIndex = dgv_Detalles.Rows.Count - 1;

                dt = new DataTable();
                dt.Columns.Add("nReasonId", typeof(int));
                dt.Columns.Add("sDescript", typeof(string));

                dt.Clear();
                // Obtengo los datos desde un SP.
                dt = reaBlockingReason(getValue(dgv_Detalles.Rows[nRow].Cells["nBranch"].Value, -1)).Copy();

                // "GetComboBoxColum" devuelve el ComboBox configurado con los datos que se le pasa y lo agrega a la columna
                // Parámetros = nombre combo, título columna, Campo código, Campo Descripción, Posición columna, DataTable, ancho.
                dgv_Detalles.Columns.Add(GetComboBoxboColumn("cboMotivos", "Motivo", "nReasonId", "sDescript", 5, dt, 205));
            }
Sacando el for lo mismo lo he puesto en el evento ""CellValueChanged" pero pasa lo mismo que comento. Probe también el evento "RowAdd" pero tampoco funciona.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno

Última edición por elrayo76 fecha: 25-09-2023 a las 19:19:59.
Responder Con Cita