Как удалить строку в datagrid

Как удалить строку в datagrid. Я использую следующий код, и он не работает (первые две строки работают, а третья не работает), как я могу изменить свой код.

put the dgHilitedLines of group "DGP"  into theLine
   answer theLine
   DeleteLine theLine

person Shalu    schedule 25.05.2015    source источник
comment
ты пробовал DeleteLine theLine of group "DGP"   -  person Tate83    schedule 25.05.2015


Ответы (4)


Вы пытались использовать индекс вместо строки?

put the dgHilitedIndex of me into theIndex 
DeleteIndex theIndex

Строка всегда является текущим порядком отображения, скажем

A = 1

B = 2

C = 3

Таким образом, если вы удалите строку 2, следующая строка C станет строкой 2. Обычно это небольшая проблема.

После удаления строки:

A = 1

C = 2

С другой стороны, индекс назначается при заполнении сетки данных и остается неизменным для одной строки, независимо от того, как вы ее сортируете. Таким образом, вы всегда можете идентифицировать эту строку

С индексом:

A = 1

B = 2

C = 3

После удаления строки 2:

A = 1

C = 3

person Tate83    schedule 25.05.2015
comment
При использовании двух кодов произошла следующая ошибка. кнопка Pass: ошибка выполнения в строке 11 (Handler: не может найти обработчик) рядом с DeleteIndex, char 1 - person Shalu; 25.05.2015

Удалить строку в DataGrid с помощью команды Dispatch необходимо, если вы делаете это вне сетки данных. Например. с помощью кнопки вне сетки данных.

on mouseUp
   put the dgHilitedLines of group "DGP"  into theLine
   answer "The selected line var is : " & theLine
   dispatch "deleteline" to group "DGP" with theLine  
   put the result into tDeleteresult
   if tDeleteresult is not empty 
   then 
      answer "There has been a problem deleting the line with message: "&tDeleteresult
   else
      answer "Line Deleted"
   end if
end mouseUp
person MrCoolLion    schedule 05.08.2015

Я всегда, для практики, делаю такие вещи в чистоте. Инструменты и аналитика в самом LC гораздо более доступны и эффективны, чем в самой DG.

Итак, в целом:

  get the dgData of group "yourDG"
  delete line whatever of it
  set the dgData of group "yourDG" to it

Крэйг Ньюман

person dunbarx    schedule 05.08.2015

Тот же ответ, что и у MrCoolLion, но более лаконично:

put the dgHilitedLines of group "DataGrid" into theLineNo
dispatch "deleteline" to group "DataGrid" with  theLineNo
person PatriceG    schedule 06.01.2017