Tengo una ventana (Window Object) con dos DataWindows (Cabecera/Detalle) donde cargo los titulos de los campos de un DataWindow a un campo DropDownListBox del otro DataWindow.
El DataWindow que tendra el campo de tipo DropDownListBox es un DataWindow de tipo External el cual tiene la siguiente estructura:
El siguiente código debe ir en el evento Open de la ventana para poder cargar los titulos de los campos del DataWindow Detalle al campo DropDownListBox del DataWindow Cabecera que es External:
//==========================================================================
// Cargar titulos de los campos de dw detalle
//---------------------------------------------------------------------------------------------------
Long ll_lastcol, ll_rc = 1, ll_col
String ls_colname, ls_label, ls_filtro, ls_descripcion = '', ls_columns[]
is_columns[] = ls_columns[]
//---------------------------------------------------------------------------------------------------
// Captura el Nro. de Columnas en el DataWindow
//---------------------------------------------------------------------------------------------------
ll_lastcol = Integer(dw_detail.Object.DataWindow.Column.Count)
//---------------------------------------------------------------------------------------------------
// Llena las Columnas
//---------------------------------------------------------------------------------------------------
FOR ll_col = 1 TO ll_lastcol
ls_colname = dw_detail.Describe("#" + String(ll_col) + ".Name")
IF dw_detail.Describe( ls_colname + ".visible" ) = "1" THEN
ls_label = dw_detail.Describe(ls_colname + "_t.Text")
IF ls_label = '!' THEN
ls_label = dw_detail.Describe( "evaluate('wordcap(~"" + ls_colname + "~")',1)" )
END IF
ls_label = ls_label
ls_descripcion = ls_descripcion + ls_label + '~t' + String(ll_rc) + '/'
is_columns[ll_rc] = Trim(ls_colname)
ll_rc++
END IF
NEXT
dw_filter.Object.columna.Values = ls_descripcion
//==========================================================================
Espero le sea de mucha utilidad, cualquier duda o consulta no duden en escribir a jorgebarzola@gmail.com que les respondere con mucho gusto.
Saludos.
No hay comentarios:
Publicar un comentario