Gente:
Con dbf si me sal铆a el check de un campo l贸gico pero con una tabla temporal en mssql usando ado no lo consigo hacer
clickeo en la columna imprime pero no me aparece el check solo el cuadradito vacio
Espero me puedan ayudar, aqu铆 mi c贸digo.
creaci贸n de tabla temporal
Definici贸n del xbrowse
definici贸n de function updateestado
Con dbf si me sal铆a el check de un campo l贸gico pero con una tabla temporal en mssql usando ado no lo consigo hacer
clickeo en la columna imprime pero no me aparece el check solo el cuadradito vacio
Espero me puedan ayudar, aqu铆 mi c贸digo.
creaci贸n de tabla temporal
聽 聽 cSQL := "CREATE TABLE #pfac"
聽 聽 cSQL += "("
聽 聽 cSQL += "numero CHAR(6) NOT NULL, "
聽 聽 cSQL += "articu VARCHAR(7) NOT NULL, "
聽 聽 cSQL += "descr VARCHAR(37), "
聽 聽 cSQL += "um CHAR(3), "
聽 聽 cSQL += "cap NUMERIC(4,0), "
聽 聽 cSQL += "cantid int DEFAULT 0, "
聽 聽 cSQL += "mts INT DEFAULT 0,"
聽 聽 cSQL += "precio NUMERIC(12,4),"
聽 聽 cSQL += "total NUMERIC(10,2),"
聽 聽 cSQL += "unid int DEFAULT 0, "
聽 聽 cSQL += "imprime bit DEFAULT 1," 聽// campo l贸gico al cual le hare check
聽 聽 cSQL += "subart varchar(10), "
聽 聽 cSQL += "numcpe varchar(10)"
聽 聽 cSQL += ")"
聽 聽 Try
聽 聽 聽 聽 oCon1:Execute( cSQL )
聽 聽 Catch
聽 聽 聽 聽 MsgInfo( "Table Create pfac Failed" )
聽 聽 End tryDefinici贸n del xbrowse
聽 聽 cSQL := "SELECT articu, descr, mts, um, cap, precio, cantid, imprime, total from #pfac "
a.codusu='"+codusu+"'"
聽 聽 oRs2f := TOleAuto():New( "ADODB.Recordset" )
聽 聽 oRs2f:CursorLocation 聽 聽 := adUseClient
聽 聽 oRs2f:CursorType 聽 聽 聽 聽 := adOpenStatic
聽 聽 oRs2f:LockType 聽 聽 聽 聽 聽 := adLockOptimistic
聽 聽 TRY
聽 聽 聽 oRS2f:Open(cSQL,oCon1 )
聽 聽 聽 lRS := .t.
聽 聽 CATCH oErr
聽 聽 聽 MsgInfo( "Error en creacion de RecordSet" )
聽 聽 聽 oCon1:Close()
聽 聽 聽 RETURN(.F.)
聽 聽 END TRY
聽 聽 REDEFINE XBROWSE oBrwF 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 DATASOURCE oRs2f 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 COLUMNS "articu", "DESCR","UM" ;
聽 聽 聽 聽 聽 聽 聽 聽,"CAP", "PRECIO", "Cantid", "TOTAL", "Imprime" ; //==> col el cual hare check
聽 聽 聽 聽 FIELDSIZES 60,200,30,40,50,55,70,70 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 HEADERS "Codigo" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽 ,"Descripci贸n" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽 ,"U.M." 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽 ,"Cap" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽 ,"Precio" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽 ,"Cant." 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽 ,"Importe" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽 ,"Imprime" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 PICTURES nil,nil,nil,'9,999', '999.9999', '999,999', '999,999.99', nil ;
聽 聽 聽 聽 ID 4018 OF oFld:aDialogs[1] 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ; 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽
聽 聽 聽 聽 UPDATE LINES CELL
聽 聽 聽 聽 oBrwF:nStretchCol 聽 聽:= STRETCHCOL_WIDEST
聽 聽 聽 聽 oBrwF:lFastEdit:= .t.
聽 聽 聽 聽 oBrwF:nMoveType := 0
聽 聽 聽 聽 oBrwF:aCols[6]:nEditType := EDIT_GET
聽 聽 聽 聽 oBrwF:aCols[6]:cDataType := "N"
聽 聽 聽 聽 oBrwF:aCols[6]:bOnPostEdit 聽 聽:= { | o, x, n | UpdateCant( x, oBrwT, n), muestratotalf(oBrwT, @aArray, lCrea)}
聽 聽 聽 聽 oBrwf:aCols[8]:bEditValue := {|| oRs2f:imprime>0 }
聽 聽 聽 聽 oBrwf:aCols[8]:cDataType 聽:= 'L'
聽 聽 聽 聽 oBrwF:aCols[8]:nEditType := EDIT_GET
聽 聽 聽 聽 oBrwF:aCols[8]:SetCheck()
聽 聽 聽 聽 oBrwF:aCols[8]:bOnPostEdit 聽 聽:= { | o, x, n | UpdateEstado( x, oBrwT, n), muestratotalf(oBrwT, @aArray, lCrea) }
聽 聽 聽 聽 oBrwF:nFreeze := 1
聽 聽 聽 聽 oBrwF:nMarqueeStyle 聽 聽= MARQSTYLE_HIGHLROW
聽 聽 聽 聽 oBrwF:aJustify 聽 := {.F.,.F.,.F.,.F.,.T.,.T.,.T.,.F.}
聽 聽 聽 聽 oBrwF:bClrSel := {|| { 聽CLR_WHITE, GetSysColor(13 ) } }
聽 聽 聽 聽 oBrwF:lHScroll := .t.
聽 聽 聽 聽 oBrwF:lVScroll := .t.
聽 聽 聽 聽 oBrwF:bLClicked := { |r,c,f,oBrw| IF( oBrwF:MouseColPos( c ) == 8, oBrwF:aCols[8]:CheckToggle(), nil ), ; 聽 //para que sea un solo click el check
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwF:RefreshCurrent() }definici贸n de function updateestado
Static function UpdateEstado( x, oBrwf, n )
聽 oRs2f:Fields( "imprime" ):value := iif(x,.t.,.f.)
聽 oRs2f:Update()
聽 obrwf:refresh()
return 0fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql