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

Надо так:
Код: sql
1.
2.
delete in MyTable
skip in MyTable
...
Рейтинг: 0 / 0
03.07.2014, 10:08
    #38686472
Trish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
КУРСОР В GRID
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
03.07.2014, 10:16
    #38686478
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
КУРСОР В GRID
DELETE FROM ... сканирует всю таблицу и в итоге останавливается в конце.
Если надо оставить так, то надо добавить запоминание текущей записи и возврат на нее.
Код: sql
1.
2.
3.
4.
5.
6.
lnRecord = recno('MyTable')

... твой код

go to (lnRecord) in MyTable 
skip in MyTable
...
Рейтинг: 0 / 0
03.07.2014, 10:32
    #38686500
pipos522
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
КУРСОР В GRID
Примерчик
Код: 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
03.07.2014, 11:00
    #38686559
Trish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
КУРСОР В GRID
Dima T,

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

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

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


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