Вверх ↑
Ответов: 499
Рейтинг: 1
#1: 2008-03-14 04:43:55 ЛС | профиль | цитата
вот пример с обычной таблицей. перетаскивание строк работает, но только в начале таблицы:
code_8623.txt
вот где не хватает страничной части, что-ли. то есть какой индекс у первой видимой строки
------------ Дoбавленo:

упс... уже все есть оказывается, обновить страницу я и забыл перед отправкой ;)

вот ItemAtPos - это именно то, чего не хватало. народ очень и очень благодарен ;)
------------ Дoбавленo:

ну вот теперь доработанный пример перетаскивания строк с новой StringTableMT:

#sha
Add(MainForm,1258690,28,14)
{
Left=20
Top=105
Width=360
Height=336
Position=1
link(onCreate,6872127:doFor,[(68,34)(68,20)])
}
Add(InfoTip,9880794,154,259)
{
Info=#11:обмен строк|
Width=316
Height=179
}
Add(StringTableMT,6306378,119,70)
{
Left=207
Width=145
Height=309
Align=3
Columns=#7:col1=40|7:col2=40|7:col3=40|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(onMouseMove)
Point(doSelect)
Point(ItemAtPos)
Point(Strings)
Point(MouseY)
Point(PosY)
link(onMouseMove,3648294:doValue,[(171,83)(171,123)(59,123)(59,202)])
link(PosY,6306378:MouseY,[(132,61)(188,61)(188,130)(153,130)])
}
Add(DoData,13568737,133,196)
{
link(onEventData,1533851:doCompare,[])
link(Data,6306378:ItemAtPos,[])
}
Add(FormatStr,4149970,133,14)
{
Mask="%1;%1;%1"
link(onFString,6306378:doAdd,[(176,20)(176,53)(107,53)(107,76)])
}
Add(Hub,11912948,294,287)
{
link(onEvent1,2884913:doIndex,[])
link(onEvent2,7436775:doIndex,[])
}
Add(For,6872127,91,14)
{
End=99
link(onEvent,4149970:doString,[])
}
Add(GetDataEx,9634341,406,266)
{
link(Data,1654082:Value,[])
}
Add(Hub,6203200,175,371)
{
OutCount=6
link(onEvent1,622569:doWork1,[(222,377)(222,293)])
link(onEvent2,5698933:doRead,[])
link(onEvent3,622569:doWork2,[(230,391)(230,300)])
link(onEvent4,5698933:doWrite,[(275,398)(275,391)])
link(onEvent5,8545878:doWrite,[(389,405)(389,391)])
link(onEvent6,11241663:In,[(222,412)(222,419)])
}
Add(If_else,1872767,91,371)
{
Op2=Integer(0)
link(onTrue,6203200:doEvent1,[])
link(Op1,3648294:Value,[])
}
Add(Memory,3648294,91,196)
{
Default=Integer(-1)
link(onData,13568737:doData,[])
}
Add(ArrayRW,5698933,336,378)
{
link(onRead,8545878:doRead,[])
link(Array,2828166:Var2,[])
link(Index,2884913:Var,[])
link(Value,5698933:Item,[(356,366)(377,366)(377,423)(342,423)])
}
Add(ChanelToIndex,622569,245,287)
{
link(onIndex,11912948:doEvent1,[])
}
Add(ArrayRW,8545878,406,378)
{
link(Array,2828166:Var3,[(412,359)])
link(Index,7436775:Var,[])
link(Value,8545878:Item,[(426,366)(446,366)(446,425)(412,425)])
}
Add(InfoTip,7099717,77,161)
{
Info=#33:расчет номера строки под курсором|
Width=141
Height=81
}
Add(GetDataEx,16501480,336,259)
{
link(Data,2954423:Var3,[(349,184)])
}
Add(If_else,1533851,231,196)
{
Type=5
link(onTrue,12194190:doEvent1,[])
link(Op2,2954423:Var1,[(244,184)])
}
Add(Memory,3468807,329,140)
{
}
Add(Memory,1654082,413,196)
{
}
Add(GetDataEx,2954423,322,175)
{
link(Data,3468807:Value,[])
}
Add(DoData,15839786,329,196)
{
link(onEventData,1654082:doValue,[])
link(Data,2954423:Var2,[])
}
Add(Hub,12194190,273,196)
{
OutCount=3
link(onEvent1,15839786:doData,[])
link(onEvent2,3468807:doValue,[(317,209)(317,146)])
link(onEvent3,1872767:doCompare,[(315,216)(315,251)(79,251)(79,377)])
}
Add(PointHint,10757899,371,140)
{
Info=#14:новое значение|
Width=85
Height=18
PColor(Event,16711935)
}
Add(PointHint,5900623,385,175)
{
Info=#15:старое значение|
Width=92
Height=18
}
Add(InfoTip,5874213,224,112)
{
Info=#62:мониторинг изменения потока с сохранением предыдущего значения|
Width=260
Height=130
}
Add(GetDataEx,2828166,329,350)
{
Angle=3
link(Data,14910958:Var,[(300,359)])
}
Add(LineBreak,13348328,49,105)
{
Caption="doSelect"
link(Out,6306378:doSelect,[])
Primary=[11241663,182,308]
}
Add(GetIndexData,2884913,343,287)
{
link(Data1,16501480:Var2,[])
link(Data2,9634341:Var1,[(356,275)])
}
Add(GetIndexData,7436775,413,294)
{
link(Data1,9634341:Var2,[])
link(Data2,16501480:Var3,[(426,268)])
}
Add(LineBreak,10247717,140,140)
{
Caption="Strings"
Type=1
link(Data,6306378:Strings,[])
Primary=[14910958,154,196]
}
действительно работает в любую сторону, независимо от видимой части. просто здорово ;)
карма: 0

0
файлы: 1code_8623.txt [3.7KB] [139]