Вверх ↑
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
#1: 2010-06-28 16:05:48 ЛС | профиль | цитата
Приятного времени суток господа!

Пытаюсь удалить несколько строк из таблицы и не получается
Очень смущает поведение ArrayEnum ничего не выдает на точку onItem
хотя на точку Array данные приходят.

Подскажите как можно организовать множественное удаление строк из таблицы?
code_19113.txt

Хотя если делать так то Множественным нажатием кнопки все работает
Add(DoData,1796674,294,301)
{
link(onEventData,15011900:doDelete,[(338,307)(338,269)(268,269)(268,230)])
link(Data,15011900:Index,[])
}
Add(MainForm,2953706,21,105)
{
Width=505
Height=356
}
Add(StringTableMT,15011900,280,210)
{
Left=75
Top=15
Width=375
Height=295
Font=[MS Sans Serif,10,0,0,1]
Ctl3D=1
Columns=#5:1=150|5:2=200|
ColumnClick=1
TableWBreak=0
MultiSelect=0
Grid=0
TextBkColor=16777215
BkColor=16777215
GradientColor=16740721
IconsCheck=[]
MiscIcons=[]
Icons=[]
StaticColumn=0
Point(FileName)
Point(Index)
Point(doSort)
Point(onColumnClick)
Point(StrLstArray)
Point(Strings)
}
Add(Button,9096177,189,210)
{
Left=5
Top=20
Data=String(aaa;bbb)
link(onClick,15011900:doAdd,[])
}
Add(Button,8628911,189,301)
{
Left=5
Top=140
link(onClick,1796674:doData,[])
}



карма: 1

0
файлы: 1code_19113.txt [927B] [137]
Ответов: 4641
Рейтинг: 334
#2: 2010-06-28 16:10:02 ЛС | профиль | цитата
-= DriveR =- писал(а):
Пытаюсь удалить несколько строк из таблицы

определись пожалуйста что хочешь.
1. Выделить несколько строк и удалить
2. Выделить строку и удалить
3. Нажать и удалить десяток строк фиг знает каких.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#3: 2010-06-28 16:10:26 ЛС | профиль | цитата
Начинай удалять не с начала, а с конца.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 817
Рейтинг: 52
#4: 2010-06-28 16:14:06 ЛС | профиль | цитата
Ravilr,
Хочу 1 и 2
Tad,
А можно хотя бы намек как это реализовать
Точка Index всегда содержит наименьшее значение
И даже если в ArrayEnum поменять свойство Type то у меня все равно не получается
карма: 1

0
Разработчик
Ответов: 26156
Рейтинг: 2127
#5: 2010-06-28 16:14:27 ЛС | профиль | цитата
Tad писал(а):
Начинай удалять не с начала, а с конца

Это же -- прописная истина. Ее тут перетирали уже не один раз, сколько же можно спотыкаться об одни и теже грабли
карма: 22

0
Ответов: 817
Рейтинг: 52
#6: 2010-06-28 16:17:14 ЛС | профиль | цитата
nesco писал(а):
...Ее тут перетирали уже не один раз

Вот здорво, значит я не умею пользоваться поиском
карма: 1

0
Ответов: 4641
Рейтинг: 334
#7: 2010-06-28 16:32:01 ЛС | профиль | цитата
-= DriveR =- писал(а):
Ravilr,
Хочу 1 и 2


Add(MainForm,16583233,231,126)
{
Width=505
Height=356
}
Add(StringTableMT,15011900,322,175)
{
Left=75
Top=15
Width=375
Height=295
Font=[MS Sans Serif,10,0,0,1]
Ctl3D=1
Columns=#5:1=150|5:2=200|
ColumnClick=1
TableWBreak=0
MultiSelect=0
Grid=0
TextBkColor=16777215
BkColor=16777215
GradientColor=16740721
IconsCheck=[]
MiscIcons=[]
Icons=[]
StaticColumn=0
Point(FileName)
Point(Index)
Point(doSort)
Point(onColumnClick)
Point(StrLstArray)
Point(Strings)
Point(AllSelect_MT)
}
Add(Button,9096177,231,175)
{
Left=5
Top=20
Data=String(aaa;bbb)
link(onClick,15011900:doAdd,[])
}
Add(Button,8628911,231,259)
{
Left=5
Top=140
link(onClick,14090708:doEnum,[])
}
Add(MT_Enum,14090708,357,259)
{
Type=1
link(onItem,15011900:doDelete,[(401,265)(401,230)(310,230)(310,195)])
link(MT,15011900:AllSelect_MT,[])
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 817
Рейтинг: 52
#8: 2010-06-28 16:39:32 ЛС | профиль | цитата
Ravilr,
Спасибо, сейчас буду вникать как это работает
Если эта схема сделана по словам
Tad писал(а):
Начинай удалять не с начала, а с конца.

то я тут вообще ничего не понимаю
------------ Дoбавленo в 16.39:
Ravilr,
Во, второй вариант более понятный
Спасибо большое
карма: 1

0
Ответов: 4641
Рейтинг: 334
#9: 2010-06-28 16:41:07 ЛС | профиль | цитата
-= DriveR =- писал(а):
то я тут вообще ничего не понимаю

что тут непонятного... элемент перебирает выделенные строки в MT, но на doDelete подается в обратном порядке т.к в MT_Enum установлено свойство Type=Dec т.е направление перебора от конца к началу.
------------ Дoбавленo в 16.41:
-= DriveR =- писал(а):
Во, второй вариант более понятный

да первый это я так по запарки от балды... но тоже имеет право на жизнь... так что разберись в нем... пригодится. т.к принцип одинаков.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)