Вверх ↑
Этот топик читают: Гость
Ответов: 413
Рейтинг: 57
#1: 2010-02-28 21:58:13 ЛС | профиль | цитата
Компонент MST_SortInCol сортирует строки в указанном столбце, как организовать сложную сортировку:
Столбец1 Столбец 2 __ Столбец1 Столбец 2
A ___ 1 _____________ A___ 1
B___ 3 _____________ B ___ 2
C ___ 5 -->> _________ B ___ 3
B___ 2 _____________ C ___ 5
D___ 8 _____________ D ___ 8

Т.е. сперва отсортировать по первому столбцу (это получается), а потом в группах с одинаковыми данными в первом столбце по значению во втором столбце. ???
карма: 0

0
Ответов: 970
Рейтинг: 270
#2: 2010-02-28 22:18:45 ЛС | профиль | цитата
так работает? [edited]



Add(MainForm,2953706,182,147)
{
link(onCreate,265138:doEnum,[])
}
Add(StrList,4993821,252,238)
{
Strings=#7:A;dgh;1|8:B;fgdf;3|7:C;fdg;5|9:B;fgdfg;2|8:D;dfgf;8|
}
Add(ArrayEnum,2754231,266,308)
{
link(onItem,7244172:doMTString,[])
link(onEndEnum,1267228:doEvent1,[(315,321)(315,391)])
link(Array,4993821:Array,[])
}
Add(MT_String,7244172,322,294)
{
link(onResult,11186201:doValue,[])
}
Add(MT_MultiMem,11186201,371,294)
{
Count=3
link(onData,457421:doAdd,[(413,300)(413,385)(359,385)(359,349)])
}
Add(MT_AddData,457421,371,343)
{
Count=3
link(onAdd,10845386:doStr,[])
link(Data1,11186201:Value1,[])
link(Data2,11186201:Value3,[(384,335)(391,335)])
link(Data3,11186201:Value2,[(391,335)(384,335)])
}
Add(StrList,7036762,490,343)
{
Point(doSort)
}
Add(Hub,11455954,189,294)
{
OutCount=3
link(onEvent1,4898884:In,[(210,300)(210,286)])
link(onEvent2,1704668:In,[])
link(onEvent3,2754231:doEnum,[])
}
Add(LineBreak,14752656,434,322)
{
link(Out,7036762:doClear,[(477,328)(477,356)])
Primary=[1704668,-217,-21]
}
Add(Hub,1267228,434,385)
{
link(onEvent1,7036762:doSort,[])
link(onEvent2,11494240:doEnum,[(476,398)(476,426)])
}
Add(MTStrTbl,3700513,182,105)
{
Left=45
Top=35
Width=460
Height=410
Name="ds"
Columns=#1:0|1:1|1:2|
}
Add(MST_DB,8486033,679,455)
{
MSTControl="ds"
Point(doClear)
}
Add(MT_AddData,910969,609,455)
{
Count=3
link(onAdd,8486033:doAddRow,[])
link(Data1,11300611:Value1,[])
link(Data2,11300611:Value3,[(622,447)(629,447)])
link(Data3,11300611:Value2,[(629,447)(622,447)])
}
Add(MT_MultiMem,11300611,609,406)
{
Count=3
link(onData,910969:doAdd,[(652,412)(652,494)(597,494)(597,461)])
}
Add(MT_String,10845386,434,343)
{
link(onResult,7036762:doAdd,[])
}
Add(MT_String,10158352,560,406)
{
link(onResult,11300611:doValue,[])
}
Add(ArrayEnum,11494240,504,420)
{
link(onItem,10158352:doMTString,[])
link(Array,7036762:Array,[])
}
Add(MST_DB,13574068,350,147)
{
MSTControl="ds"
}
Add(StrList,13889838,238,91)
{
Strings=#7:A;dgh;1|8:B;fgdf;3|7:C;fdg;5|9:B;fgdfg;2|8:D;dfgf;8|
}
Add(ArrayEnum,265138,252,161)
{
link(onItem,16307183:doMTString,[])
link(Array,13889838:Array,[])
}
Add(Button,2830331,133,294)
{
Left=45
Top=10
Caption="sort"
link(onClick,11455954:doEvent1,[])
}
Add(MT_String,16307183,301,147)
{
link(onResult,13574068:doAddRow,[])
}
Add(LineBreak,3492052,623,511)
{
link(Out,8486033:doClear,[(666,517)(666,475)])
Primary=[4898884,-406,-231]
}

карма: 0

1
Голосовали:Poputchik
Ответов: 413
Рейтинг: 57
#3: 2010-02-28 22:29:45 ЛС | профиль | цитата
Genius писал(а):
так работает?

Работает!
Спасибо!
P.S. Хотел уйти от списка строк и сделал все на MTStrTbl, а оказалось некоторые вещи проще делать в строках
карма: 0

0
Ответов: 970
Рейтинг: 270
#4: 2010-02-28 22:39:22 ЛС | профиль | цитата
Надо осознать предложенную схему.


с комментариями:

code_17123.txt
карма: 0

0
файлы: 1code_17123.txt [3.8KB] [128]
Разработчик
Ответов: 26170
Рейтинг: 2127
#5: 2010-02-28 22:47:46 ЛС | профиль | цитата
Poputchik писал(а):
Хотел уйти от списка строк и сделал все на MTStrTbl

Но MTStrTbl не может иметь всего, чего вы захотите. Но нереально это как-то

карма: 22

0
Ответов: 413
Рейтинг: 57
#6: 2010-02-28 22:47:52 ЛС | профиль | цитата
Genius писал(а):
с комментариями:

Я осознал.
Думаю теперь переделывать схему, боюсь перегон туда сюда, для больших таблиц наверно притормаживать будет
nesco писал(а):
о MTStrTbl не может иметь всего, чего вы захотите.
тоже осознал!
Еще раз спасибо за быструю подсказку!!!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#7: 2010-03-01 10:11:44 ЛС | профиль | цитата
Genius, Poputchik
code_17128.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_17128.txt [2.3KB] [140]
Голосовали:Genius
Гость
Ответов: 17029
Рейтинг: 0
#8: 2010-03-01 10:24:52 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-21 12:55:57
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#9: 2010-03-01 10:26:37 ЛС | профиль | цитата
Genius, или твоя схема без танцев с бубном
code_17129.txt

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_17129.txt [2.2KB] [181]
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)