powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / КУРСОР В GRID
11 сообщений из 11, страница 1 из 1
КУРСОР В GRID
    #38686450
Trish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При удалении записи из grid курсор становится в конец, как сделать, чтобы курсор переходил на следующую запись?
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686469
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как удаление сделано?

Надо так:
Код: sql
1.
2.
delete in MyTable
skip in MyTable
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686472
Trish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

ВОТ ТАК:

SELECT MCREC
m.Id=MCREC.Id
m.Ed_kod=MCREC.Ed_kod
m.Pol=MCREC.Pol
m.D_r=MCREC.D_r
m.snils=MCREC.Snils
m.ser_pol=MCREC.Ser_pol
m.nom_pol=MCREC.nom_pol
m.C_kat=MCREC.C_kat

IF MESSAGEBOX("Вы действительно хотите удалить "+alltrim(m.fam)+" "+alltrim(m.im);
+" "+alltrim(m.ot)+" ?",4+32+256)=6
DELETE FROM MCREC WHERE m.id==MCREC.id
DELETE FROM Regrecv WHERE m.id==Regrecv.id
ENDIF
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686478
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DELETE FROM ... сканирует всю таблицу и в итоге останавливается в конце.
Если надо оставить так, то надо добавить запоминание текущей записи и возврат на нее.
Код: sql
1.
2.
3.
4.
5.
6.
lnRecord = recno('MyTable')

... твой код

go to (lnRecord) in MyTable 
skip in MyTable
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686500
Фотография pipos522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерчик
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
WITH CREATEOBJECT("Form_1")
  	.show(1)  
ENDWITH 
 DEFINE CLASS form_1 AS form  
    AutoCenter = .T.
  	Height     =  200  
  	Width      =  325  
  	Caption    = "Form_1"  
  	Name       = "Form_1"
    BackColor  = RGB(245,243,222)

 PROCEDURE Init 
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*  LABEL
 This.AddObject('Label_1','Label')
 WITH This.Label_1
     .BackStyle= 0
     .Visible  = .T. 
     .TOP      = 10
     .LEFT     = 10
     .Height   = 20
     .Width    = 70
     .Alignment = 2
     .Caption  = 'Удаление'
 ENDWITH
 
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* CommandButton 1
 ThisForm.AddObject('com_1','CommandButton_1')
 WITH ThisForm.com_1
     .Caption = 'Удаление:'
     .Visible  = .T. 
     .TOP      = 10
     .LEFT     = 215
     .Height   = 20
     .Width    = 100
     .Default  = .F.
     .TabIndex = 0
     .TabStop  = .F.
 ENDWITH
 
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*  GRID
 This.AddObject('Grid_1','Grid')
 WITH This.Grid_1
     .Height = 160
     .Width  = 315
     .AllowCellSelection = .F. 
     .TabIndex = 1
     .Top          =  35
     .Left         =  5
     .Visible      = .T. 
     .DeleteMark   = .F.
     .RecordMark   = .F.
     .ReadOnly     = .T.
     .ScrollBars   =  2
     .ColumnCount  =  2
     .HeaderHeight =  0
     .RecordSource = 'Table_1'
     .column1.ControlSource = 'Table_1.Nom' 
     .column2.ControlSource = 'Table_1.Date_' 
     .column1.width = 147
     .column2.width = 146
     .column1.Alignment = 6
     .column2.Alignment = 6
     .column1.Resizable = .F.
     .column2.Resizable = .F.
 ENDWITH
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
 ENDPROC
 
 PROCEDURE load
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* 
 CREATE CURSOR Table_1( Nom N(2), Date_ D(8))
   INSERT INTO Table_1 VALUES (1, DATE()+10)
   INSERT INTO Table_1 VALUES (2, DATE()+20)
   INSERT INTO Table_1 VALUES (3, DATE()+30)
   INSERT INTO Table_1 VALUES (4, DATE()+40)
   INSERT INTO Table_1 VALUES (5, DATE()+50)
   INSERT INTO Table_1 VALUES (6, DATE()+60)
   GO TOP
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
 ENDPROC
 ENDDEFINE

 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
  DEFINE CLASS CommandButton_1 as CommandButton
  PROCEDURE click

  nAnswer = MESSAGEBOX('Удалить '+ALLTRIM(STR(Table_1.nom))+' и '+DTOC(date_)+' '+'?', 4+256, 'Внимание!')
  IF nAnswer=6     && Да
 *=========================================*
    SELECT Table_1
  IF .NOT. EOF()
    IF DELETED()= .T.
    RECALL
    WAIT 'Восстановлено!' WINDOW TIMEOUT 0.5
    ELSE
    DELETE
    WAIT 'Удалено!' WINDOW TIMEOUT 0.5
    ENDIF
  ELSE    
    WAIT 'Удаление не возможно' WINDOW NOWAIT
  ENDIF
 *=========================================*
  ENDIF
  ThisForm.Refresh
  ThisForm.grid_1.column1.SetFocus

  ENDPROC
 ENDDEFINE
*================================================================*

...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686559
Trish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

ругается, что файл "to.prg" не существует.
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686591
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибся немного, goto слитно пишется
Код: sql
1.
goto (lnRecord) in MyTable 
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #38686616
Trish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,
Понятно) ОГРОМНОЕ СПАСИБО! Все получилось)))
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
КУРСОР В GRID
    #39031978
Castiel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

А как сделать, чтобы при удалении, удалялась не первая запись в гриде, а та на которую указываю?
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #39032006
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так 16253010
...
Рейтинг: 0 / 0
КУРСОР В GRID
    #39032126
CastielDima T,

А как сделать, чтобы при удалении, удалялась не первая запись в гриде, а та на которую указываю?Вы сначала покажите как вам вообще такое удается?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / КУРСОР В GRID
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]