Hola Xevi,
Eso no solventa nada y hace lo mismo que :SelecCol(1)
Un saludo,
Xavi
Xevi escribió:
> Xavi,
>
> ::oBrowse:GoHPos(1)
> ::oBrowse:Refresh()
>
> Un Saludo,
> Xevi.
>
>
> "Xavi" <[email=x_@_com]x_@_com[/email]> ha escrit al missatge del grup de discussió:
> 450f04cc$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
>> Hola Ignacio,
>>
>> Vayan por delante mis felicitaciones por Xailer.
>> No consigo situar una columna determinada del Browse en la primera
>> posición
>> de visualización, como si se hubiera desplazado el scroll horizontal, y
>> comenzar
>> desde allí la Edición.
>> ¿ Qué debo utilizar, SelectCol(x); GoLeftMost() ?
>> El siguiente código funciona hasta llegar al remarque del OnPostEdit del
>> Browse:
>> /*
>> Necesito Colocar nModColAt en la primera columna de visualización del
>> Browse, como si se hubiera movido el scroll, y retornar la Edición.
>> ¿Cómo lo hago?
>> */
>> El comportamiento de este código en edición, si funcionara, sería el
>> equivalente
>> al Browse del Clipper, cuando pulsas Intro en el campo 3 pasas al campo 4
>> aunque
>> este no aparezca en pantalla, por eso creo que algo no soy capaz de
>> entender.
>> Creo que poniendo el código no puedo ser más conciso.
>> ¿Que programo en el remarque, o en cualquier otro sitio, para conseguir
>> editar todas
>> las columnas no sólo las 4 que se visualizan en la ventana?
>>
>> /*
>> DATA nModColAt INIT 0
>> Configuración del Browse por defecto
>> ::oABrw:lAllowColHiding := FALSE
>> ::oABrw:lAllowColSwapping := FALSE
>> */
>> METHOD Modificar() CLASS TForm1
>> Local oCol
>>
>> if( ::oABrw:nArrayAt > 0 )
>> WITH OBJECT ::oABrw
>> :OnKeyDown := nil
>> :OnPostEdit := "ModBrwPostEdit"
>> :nMarqueeStyle := bmHIGHLCELL
>> for each oCol in :aCols
>> oCol:nEditType := beGET
>> if( oCol:nWidth < 50 ); oCol:nWidth := 50; endif
>> oCol:oGridEdit:OnExit := {|s,n| ::ModColExit( oCol, s, n )}
>> next
>> :SelectCol(1)
>> :Edit()
>> END
>> endif
>> RETURN NIL
>>
>> METHOD ModColExit( oCol, oSender, oNextCtl ) CLASS TForm1
>>
>> // Trata la Columna Actual
>>
>> if( (::oABrw:nWidth - oNextCtl:nLeft < 50) .or. ;
>> (oNextCtl:nLeft == 0 .and. oCol:nIndex < Len(::oABrw:aCols)) )
>> ::nModColAt := oCol:nIndex + 1
>> ::oABrw:CancelEdit()
>> endif
>> RETURN nil
>>
>> METHOD ModBrwPostEdit( oSender, lCanceled, nKey ) CLASS TForm1
>> Local oCol
>>
>> WITH OBJECT ::oABrw
>> if( ::nModColAt > 0 )
>> /*
>> Necesito Colocar nModColAt como primera columna de
>> visualización del
>> Browse, como si se hubiera movido el scroll, y retornar la
>> Edición.
>> ¿Cómo lo hago?
>> */
>> ::nModColAt := 0
>> else
>> :OnKeyDown := "ABrwKeyDown"
>> :nMarqueeStyle := bmHIGHLROW
>> for each oCol in :aCols
>> oCol:nEditType := beNONE
>> next
>> endif
>> END
>> RETURN NIL
>>
>> Un cordial saludo
>> Xavi
>
>