|
Номера строк
|
|||
---|---|---|---|
#18+
Как получить номера 2-х строк, не идущих подряд в таблице? Тоесть, например щелкнут на первую сроку в гриде - получить ее номер, щелкнуть на какую-то другую - получить ее номер. И номера сохранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:24 |
|
Номера строк
|
|||
---|---|---|---|
#18+
> Автор: НадеждаМ > Как получить номера 2-х строк, не идущих подряд в таблице? Тоесть, например щелкнут на первую сроку в гриде - > получить ее номер, щелкнуть на какую-то другую - получить ее номер. И номера сохранить. Почитай справку по функции RecNo() Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:40 |
|
Номера строк
|
|||
---|---|---|---|
#18+
Игорь Горбонос, я знаю сто recno() возвращает номер активной строки. Когда щелкаем на одну строку, а потом на другую, ведь получается recno() последней строки. А как мне сохранить и предыдущую? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:43 |
|
Номера строк
|
|||
---|---|---|---|
#18+
> Автор: НадеждаМ > А как мне сохранить и предыдущую? Например в событии AfterRolColChange написать так: Код: plaintext 1. 2. 3. 4. 5. 6.
Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:58 |
|
Номера строк
|
|||
---|---|---|---|
#18+
Игорь Горбонос, что такое tag? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:05 |
|
Номера строк
|
|||
---|---|---|---|
#18+
тоесть свойство tag хранит информцию символьного типа. получается, что мне строку recno(this.recordsource) надо преобразовать в симвоьлный тип.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 14:10 |
|
Номера строк
|
|||
---|---|---|---|
#18+
не совсем понятно что такое Val(This.Tag)? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 15:23 |
|
Номера строк
|
|||
---|---|---|---|
#18+
> Автор: НадеждаМ > не совсем понятно что такое Val(This.Tag)? А справка к среде есть? встать курсором на Val и нажать F1 Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 17:00 |
|
Номера строк
|
|||
---|---|---|---|
#18+
нет справки. не понятно что такое tag, а не val. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 22:11 |
|
Номера строк
|
|||
---|---|---|---|
#18+
НадеждаМ, Тоесть не понятно зачем это свойство нужно. Нашла про него инфу в нете, но чего-то не пойму. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 22:25 |
|
Номера строк
|
|||
---|---|---|---|
#18+
НадеждаМТоесть не понятно зачем это свойство нужно. Нашла про него инфу в нете, но чего-то не пойму. А и понимать нечего - это просто резервное свободное свойство для заполнения его чем угодно. Хотите, туда можете число закинуть, чтобы потом где-нибудь в коде извлечь, хотите - произвольную строку. Запасной "бардачок" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 22:46 |
|
Номера строк
|
|||
---|---|---|---|
#18+
НадеждаМнет справки Справка - есть НадеждаМне понятно что такое tag, а не val. tag - свойство объектов VFP, куда можно записывать всякий вспомогательный мусор. Нечто вроде "болвана в старом польском преферансе"(c) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2010, 22:59 |
|
Номера строк
|
|||
---|---|---|---|
#18+
Dag, Спасибо за помощь. Справку обязательно скачаю, только вот fox у меня 6.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 07:13 |
|
Номера строк
|
|||
---|---|---|---|
#18+
Снова привет всем. Пытаюсь выделить диапазон записей галочками, но ничего не выходит, тоесть галочки проставляются но не с указанной строки до конечной, а начиная с 0. Сделала как сказал Игорь Горбонос в AfterRowColchange прописала: If Val(this.Tag) <> RecNo('getspprice') Then m_oldRecNo = Val(this.Tag) m_curRecNo = RecNo('getspprice') this.Tag = str(RecNo('getspprice')) endif Далее в цикле прохожу по найденным границам диапазона и проставляю галочки. for i=m_oldRecNo to m_curRecNo this.parent.grid3.activatecell(i,1) if getspprice.ch=.f. repla getspprice.ch with .t. endif endfor Val(this.Tag) = ' ', поэтому m_oldRecno = 0. Как мне начать не с 0-ой строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2010, 11:45 |
|
Номера строк
|
|||
---|---|---|---|
#18+
И еще не правильно работает данный код когда я прокручиваю грид. Либо ошибку пишет, либо выделяет, но неправильно. Как сделать чтобы с прокруткой в гриде все работал? Так как иногда в таблице записи не помещаются на форму и уходят за пределы грида, то приходится прокручивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2010, 11:48 |
|
Номера строк
|
|||
---|---|---|---|
#18+
НадеждаМИ еще не правильно работает данный код когда я прокручиваю грид. Либо ошибку пишет, либо выделяет, но неправильно. Таблица индексирована ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2010, 12:30 |
|
Номера строк
|
|||
---|---|---|---|
#18+
НадеждаМ, Так с этого и начинали бы мольбы о помощи. При включенном индексе записи располагаются не в порядке нарастания RECNO(), а в соответствии с индексным выражением. Т.е. не 1,2,3,4..., а 5,1,101,43,6,23... И во-вторых - зачем привязываться к строке грида, когда в таблице даже есть специальное поле для метки getspprice.ch ? Вот и привязывайтесь к источнику данных, а не к строкам грида. Например : Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2010, 15:19 |
|
Номера строк
|
|||
---|---|---|---|
#18+
У меня так: text1.valid ***мультиселект определение страртовой записи*** thisform.nStartMultiSelect=RECNO(this.Parent.Parent.RecordSource) ****************************************** text1.KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl DO CASE *** левая кнопка мыши+CTRL или пробел*** case nKeyCode=0 AND nShiftAltCtrl=2 OR nKeyCode=32 SELECT (this.Parent.Parent.RecordSource) REPLACE multi_sel WITH IIF(multi_sel=.T.,.F.,.T.) this.Parent.Parent.Refresh() RETURN **************************************** *** левая кнопка мыши+Shift*** case nKeyCode=0 AND nShiftAltCtrl=1 LOCAL nStartDiap, nEndDiap, nRecEndSelect nEndDiap=this.Parent.Parent.ActiveRow SELECT (this.Parent.Parent.RecordSource) nRecEndSelect=RECNO() IF (thisform.nStartMultiSelect)>0 GO RECORD (thisform.nStartMultiSelect) ELSE IF !BOF((this.Parent.Parent.RecordSource)) GO TOP ENDIF ENDIF nStartDiap=this.Parent.Parent.ActiveRow FOR i=1 TO ABS(nStartDiap-nEndDiap)+1 REPLACE multi_sel WITH IIF(multi_sel=.T.,.F.,.T.) IF nStartDiap-nEndDiap>0 IF !EOF((this.Parent.Parent.RecordSource)) SKIP ENDIF ELSE IF !BOF((this.Parent.Parent.RecordSource)) SKIP -1 ENDIF ENDIF ENDFOR GO RECORD nRecEndSelect this.Parent.Parent.Refresh **************************************** ENDCASE text1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord ***мультиселект левая кнопка мыши+Shift*** IF nButton=1 this.KeyPress(0,nShift) ENDIF ****************************************** multi_sel логическое поле в курсоре text1-CurrentControl во всех Column Grid-а Немного переделал, что бы было понятнее, у меня эта фигня в классе, все ссылки на Grid, ну а Вам необходимо будет добавить несколько свойств для формы. Проверьте как работает, может что-то и пропустил ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2010, 18:50 |
|
|
start [/forum/topic.php?fid=41&msg=36487535&tid=1585563]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
106ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 198ms |
0 / 0 |