Вверх ↑
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
#1: 2020-06-11 16:24:10 ЛС | профиль | цитата
Подскажите пожалуйста.
Прилетает в таблицу примерно вот такая строка:
125501/Липа/прямой/142*8889/Ка.4785/твёрд./рубин/дубль

Как мне впихнуть эту строку между условными строками с номерами: 125478 и 125527 (то есть чтобы строки шли по возрастающей снизу вверх основываясь на номерах в этом столбце)?
И при этом избежать повторений.Попадаются одинаковые строки.


Add(MainForm,2953706,28,91)
{
Width=790
Height=503
link(onCreate,1976442:doEnum,[])
}
Add(StrList,4383086,63,35)
{
Strings=#53:125657/Лофт/прямой/17*88779/Ка.4785/лист./рубин/дубль|51:125527/Лофт/угол/19*84367/Ка.4785/лист./рубин/дубль|52:125478/Дуб/прямой/12*8889/Ка.4785/твёрд./рубин/дубль|0:|0:|
}
Add(ArrayEnum,1976442,77,105)
{
link(onItem,4860165:In,[])
link(Array,4383086:Array,[])
}
Add(MST_RowAction,15395190,574,560)
{
MSTControl="tab"
}
Add(MultiStrPart,14049247,483,357)
{
Char="/"
Count=8
link(onSplit,15768365:In,[])
}
Add(MT_AddData,7591723,490,560)
{
Count=8
link(onAdd,15395190:doRowAction,[])
link(Data1,14049247:Part1,[(496,490)(489,490)])
link(Data2,14049247:Part3,[])
link(Data3,14049247:Part4,[])
link(Data4,14049247:Part5,[])
link(Data5,14049247:Part6,[])
link(Data6,14049247:Part7,[])
link(Data7,14049247:Part8,[])
link(Data8,14049247:Part2,[(545,474)(496,474)])
}
Add(LineBreak,769945,413,560)
{
link(Out,7591723:doAdd,[])
Primary=[15768365,154,-203]
}
Add(MTStrTbl,7386009,756,448)
{
Left=5
Top=85
Width=740
Height=420
Name="tab"
Columns=#9:№ =120==2|13:6/р-та =60==2|14:табель =120==2|13:УСНго =100==2|12:лев.1 =50==2|15:лев.1/2 =100==2|13:лев.2 =120==2|
ColorItems=0
}
Add(Edit,8998173,399,259)
{
Left=75
Top=35
Width=565
Text="125501/Липа/прямой/142*8889/Ка.4785/твёрд./рубин/дубль"
}
Add(Button,16373155,350,308)
{
Left=10
Top=35
Caption="добавить"
link(onClick,10760359:doData,[])
}
Add(LineBreak,9774533,406,357)
{
link(Out,425671:doWork2,[])
Primary=[4860165,-280,-252]
}
Add(DoData,10760359,399,308)
{
link(onEventData,425671:doWork1,[(466,314)])
link(Data,8998173:Text,[])
}
Add(HubEx,425671,462,357)
{
link(onEvent,14049247:doSplit,[])
}

карма: 1

0
Ответов: 207
Рейтинг: 14
#2: 2020-06-11 16:41:14 ЛС | профиль | цитата
ogrif, Так?

Add(MainForm,6045938,154,147)
{
Width=790
Height=503
link(onCreate,1976442:doEnum,[])
}
Add(StrList,4383086,189,91)
{
Strings=#53:125657/Лофт/прямой/17*88779/Ка.4785/лист./рубин/дубль|51:125527/Лофт/угол/19*84367/Ка.4785/лист./рубин/дубль|52:125478/Дуб/прямой/12*8889/Ка.4785/твёрд./рубин/дубль|0:|0:|
}
Add(ArrayEnum,1976442,203,161)
{
link(onItem,4860165:In,[])
link(Array,4383086:Array,[])
}
Add(MST_RowAction,15395190,700,616)
{
MSTControl="tab"
link(onChange,1287535:doSort,[])
}
Add(MultiStrPart,14049247,609,413)
{
Char="/"
Count=8
link(onSplit,15768365:In,[])
}
Add(MT_AddData,7591723,616,616)
{
Count=8
link(onAdd,15395190:doRowAction,[])
link(Data1,14049247:Part1,[(622,546)(615,546)])
link(Data2,14049247:Part3,[])
link(Data3,14049247:Part4,[])
link(Data4,14049247:Part5,[])
link(Data5,14049247:Part6,[])
link(Data6,14049247:Part7,[])
link(Data7,14049247:Part8,[])
link(Data8,14049247:Part2,[(671,530)(622,530)])
}
Add(LineBreak,15780743,539,616)
{
link(Out,7591723:doAdd,[])
Primary=[15768365,154,-203]
}
Add(MTStrTbl,7386009,882,504)
{
Left=5
Top=85
Width=740
Height=420
Name="tab"
Columns=#9:№ =120==2|13:6/р-та =60==2|14:табель =120==2|13:УСНго =100==2|12:лев.1 =50==2|15:лев.1/2 =100==2|13:лев.2 =120==2|
ColorItems=0
}
Add(Edit,8998173,525,315)
{
Left=75
Top=35
Width=565
Text="125501/Липа/прямой/142*8889/Ка.4785/твёрд./рубин/дубль"
}
Add(Button,16373155,427,364)
{
Left=10
Top=35
Caption="добавить"
link(onClick,10760359:doData,[])
}
Add(LineBreak,6218790,532,413)
{
link(Out,425671:doWork2,[])
Primary=[4860165,-280,-252]
}
Add(DoData,10760359,525,364)
{
link(onEventData,425671:doWork1,[(592,370)])
link(Data,8998173:Text,[])
}
Add(HubEx,425671,588,413)
{
link(onEvent,14049247:doSplit,[])
}
Add(MST_SortInCol,1287535,756,616)
{
MethodSort=1
MSTControl="tab"
}
карма: 2

0
Ответов: 204
Рейтинг: 2
#3: 2020-06-11 16:47:15 ЛС | профиль | цитата
Joiner писал(а):
ogrif, Так?

Да, все так.
Я вот только не могу понять как компонент сортировки определяет по какому столбцу сортировать?? Или он сортирует по самому первому??

--- Добавлено в 2020-06-11 16:51:38

просто таблица на самом деле довольно большая и в ней в столбцах тоже разные цифры, не будет ли глюков если нет прямого указания на столбец по которому нужно сортировать???

Редактировалось 1 раз(а), последний 2020-06-11 16:51:38
карма: 1

0
Ответов: 207
Рейтинг: 14
#4: 2020-06-11 16:56:01 ЛС | профиль | цитата
ogrif писал(а):
Или он сортирует по самому первому??

Этого я не знаю. по всей видимости да.
ogrif писал(а):
просто таблица на самом деле довольно большая

Может тогда используй БД. С дублями и сортировкой проблем никаких не будет.
карма: 2

0
Ответов: 204
Рейтинг: 2
#5: 2020-06-11 16:58:01 ЛС | профиль | цитата
Вроде работает. Спасибо за помощь! ))
карма: 1

0
Ответов: 537
Рейтинг: 14
#6: 2020-06-11 18:01:48 ЛС | профиль | цитата
В потоке передается индекс столбца по которому сортирует.
Add(MainForm,6045938,84,154)
{
Width=790
Height=503
link(onCreate,1976442:doEnum,[])
}
Add(StrList,4383086,119,98)
{
Strings=#53:125657/Лофт/прямой/17*88779/Ка.4785/лист./рубин/дубль|51:125527/Лофт/угол/19*84367/Ка.4785/лист./рубин/дубль|52:125478/Дуб/прямой/12*8889/Ка.4785/твёрд./рубин/дубль|0:|0:|
}
Add(ArrayEnum,1976442,133,168)
{
link(onItem,4860165:In,[])
link(Array,4383086:Array,[])
}
Add(MST_RowAction,15395190,525,420)
{
MSTControl="tab"
link(onChange,9438061:doData,[])
}
Add(MultiStrPart,14049247,434,217)
{
Char="/"
Count=8
link(onSplit,15768365:In,[])
}
Add(MT_AddData,7591723,441,420)
{
Count=8
link(onAdd,15395190:doRowAction,[])
link(Data1,14049247:Part1,[(447,350)(440,350)])
link(Data2,14049247:Part3,[])
link(Data3,14049247:Part4,[])
link(Data4,14049247:Part5,[])
link(Data5,14049247:Part6,[])
link(Data6,14049247:Part7,[])
link(Data7,14049247:Part8,[])
link(Data8,14049247:Part2,[(496,334)(447,334)])
}
Add(LineBreak,13166152,364,420)
{
link(Out,7591723:doAdd,[])
Primary=[15768365,154,-203]
}
Add(MTStrTbl,7386009,581,315)
{
Left=5
Top=85
Width=740
Height=420
Name="tab"
Columns=#9:№ =120==2|13:6/р-та =60==2|14:табель =120==2|13:УСНго =100==2|12:лев.1 =50==2|15:лев.1/2 =100==2|13:лев.2 =120==2|
ColorItems=0
}
Add(Edit,8998173,350,119)
{
Left=75
Top=35
Width=565
Text="125501/Липа/прямой/142*8889/Ка.4785/твёрд./рубин/дубль"
}
Add(Button,16373155,252,168)
{
Left=10
Top=35
Caption="добавить"
link(onClick,10760359:doData,[])
}
Add(LineBreak,16484147,357,217)
{
link(Out,425671:doWork2,[])
Primary=[4860165,-175,-49]
}
Add(DoData,10760359,350,168)
{
link(onEventData,425671:doWork1,[(417,174)])
link(Data,8998173:Text,[])
}
Add(HubEx,425671,413,217)
{
link(onEvent,14049247:doSplit,[])
}
Add(MST_SortInCol,1287535,637,420)
{
MethodSort=1
MSTControl="tab"
}
Add(DoData,9438061,581,420)
{
Data=Integer(2)
link(onEventData,1287535:doSort,[])
AddHint(11,-29,21,13,Data)
}

Редактировалось 1 раз(а), последний 2020-06-11 18:16:17
карма: 4

0
Ответов: 2236
Рейтинг: 676
#7: 2020-06-11 18:36:51 ЛС | профиль | цитата
ogrif, Joiner, обращайте внимание на описания к точкам. Если в конце описания есть ARG(), то в скобках будет указана данные которые нужно подать или будут выдаваться с данной точки. Это могут быть как одиночные данные, так несколько данных в мт-потоке.

Редактировалось 1 раз(а), последний 2020-06-11 18:41:10
карма: 11

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)