Тема: Перемещение строк таблицы

То ли лыжи не едут, то ли я ...
,но вот это не перемещает новую строку в начало:

  set r = ThisObject.Attributes("ATTR_ROUTE_LOG").Rows.Create
  set rows = ThisObject.Attributes("ATTR_ROUTE_LOG").Rows
'  rows.Update
  rows.Move r, 0
  rows.Update

Почему?

Re: Перемещение строк таблицы

почитайте в этой теме : https://tdmsforum.ru/topic820.html

Re: Перемещение строк таблицы

Edhunter пишет:

почитайте в этой теме : https://tdmsforum.ru/topic820.html

да я читал, но это не совсем мой случай, хотя конечно:

Это такая фича TDMS 4. Лечится только сортировкой. Проблема будет исправлена, но уже в новых TDMs

сортировка мне бы подошла, только я не понял как

Re: Перемещение строк таблицы

автоматом помоему никак, а вообще как и любой грид его модно сортировать нажав на имя столбца.
А почему не подошел мой код? я им вполне успешно перемещаю строки в нужное мне место таблицы.

Re: Перемещение строк таблицы

Edhunter пишет:

А почему не подошел мой код? я им вполне успешно перемещаю строки в нужное мне место таблицы.

А да, я его ещё не вкурил, пока некогда, обязательно посмотрю. Спасибо

(изменено: A77x7, 20 мая 2015г. 09:28:51)

Re: Перемещение строк таблицы

Попытался использовать ваш код (AppendMonitoringDate). Не помогло.
Пока выполнение команды не завершится новая строка не двигается.
Если её двигать после завершения команды, то всё работает нормально.
Делаю так (последнюю (новую) строку перемещаю в начало):

Sub Command_Completed(Command, Obj)
  ThisScript.SysAdminModeOn
  set rows = Obj.Attributes("ATTR_ROUTE_LOG").Rows
  set r = rows(rows.Count-1)
  rows.Move r, 0
  rows.Update
  'msgbox "ok"
End Sub

Есть ещё момент...
Command_Completed вызывается не сразу, а через пару секунд, так что в это время можно даже "поработать" в ТДМС (UI не блокируется).
Можно например наверное успеть выполнить эту команду ещё раз до появления msgbox "ok", и тогда... я не проверял. ))
Кстати, возможно, здесь работают те же грабли, что и при смене значка

P.S. всё-таки проверил, что будет:
запускаю команду, и до появления msgbox "ok" успеваю запустить её ещё раз. в результате Command_Completed вызывается один раз.
по первой команде записи в таблицу не добавляются, т.е. она прерывается где-то в середине.
т.е. получается если команда долгая, то до её завершения можно такое натворить...