LOCAL lnRecNo lnRecNo = IIF(!EOF(), RECNO(), -1) ThisForm.DataEnvironment.cursor1.Order = "Column_Order" WITH This.Parent.Parent .ActivateCell(1, .ActiveColumn) IF lnRecNo > 0 GO (lnRecNo) ELSE GO TOP ENDIF .Refresh() ENDWITH
... WITH ThisForm IF VARTYPE(.ActiveControl) = "O"; AND .ActiveControl.BaseClass == "Grid"; AND !INLIST(CURSORGETPROP("Buffering"), 4, 5); AND !.ActiveControl.DeleteMark * * - Grid с DeleteMark = .F. и buffering record имеет проблему * - при удалении записи, необходимо временно установить свойство DeleteMark = .T. LOCAL loGrid LoGrid = .ActiveControl LoGrid.DeleteMark = .T. ENDIF ENDWITH lnRecNo = RECNO() DELETE llError = !TABLEUPDATE(.T.) IF TYPE("loGrid") = "O" LoGrid.DeleteMark = .F. ENDIF ...
WITH This.Parent IF .Visible .Visible = .F. .Width = 0 ELSE .Visible = .T. .Width = 75 && <- или прежний размер из предварительно созданного свойства-массива формы ENDIF ENDWITH
можете установить Grid1.GridLineColor = RGB(128, 128, 128), чтобы скрытая колонка "не бросалась в глаза"... как, надеюсь, самый простой вариант... К списку вопросов.
IF !DBUSED("MyDbc") OPEN DATABASE [full_path]MyDbc.dbc SHARED IF !DBUSED("MyDbc") ?CHR(7) MessageBox("Can not open database: MyDbc", 16, "Error") RETURN .F. ENDIF ENDIF SET DATABASE TO MyDbc IF !INDBC("MyTable", "Table") ?CHR(7) MessageBox("No table: MyTable in database: MyDbc", 16, "Error") RETURN .F. ENDIF USE MyDbc!MyTable IN 0 SHARED
SELECT * ; FROM MyDbc!Payments p; WHERE DTOC(p.date)+STR(p.idclient) IN ; (SELECT DTOC(MAX(p.date))+STR(p.idclient); FROM MyDbc!Payments p; GROUP BY p.idclient)
... тоже как бы два в одном. К списку вопросов.