Вверх ↑
Ответов: 322
Рейтинг: 8
#1: 2021-03-18 16:32:17 ЛС | профиль | цитата
Привет всем.
Набросал программу, вот только не получается автоматически закрасить разные строки в таблице разными цветами.
Даже если сделать поочерёдно кнопкой (вручную), после если выделяешь строку она красится в последний цвет.
12.jpg
Add(MainForm,12272402,182,105)
{
Width=531
Height=419
Position=1
link(onCreate,5210249:doEnum,[])
}
Add(MST_RowAction,10435767,329,112)
{
MSTControl="myTable"
}
Add(StrList,3112473,217,63)
{
Strings=#20:1;Стол;12,3;1;123;12|21:2;Диван;34,7;1;200;20|19:3;Ваза;3,4;1;221;15|21:4;Тарелка;0,3;1;31;12|19:5;Стул;7,4;1;150;23|22:6;Цветок;0,45;5;225;15|20:7;Ковер;12,2;1;12;12|
}
Add(ArrayEnum,5210249,231,119)
{
link(onItem,1965424:doMT,[])
link(Array,3112473:Array,[])
}
Add(MT_String,1965424,280,112)
{
link(onResult,10435767:doRowAction,[])
}
Add(MTStrTbl,2767388,189,245)
{
Width=515
Height=315
Align=2
Name="myTable"
Columns=#8:ID=30==2|8:Название|3:Вес|10:Количество|9:Позиция Х|9:Позиция Y|
ColorItems=0
Grid=0
link(FormatCell,10425368:GetData,[])
}
Add(EventFromData,10425368,203,196)
{
link(onEvent,8769614:doSeparateMT,[])
}
Add(MT_MultiData,8769614,245,196)
{
link(onData1,2480107:doCase,[])
}
Add(Case,2480107,287,196)
{
Value=String(12)
DataOnTrue=String(65280,255,MS Sans Serif,8,1)
link(onNextCase,13607988:doData,[])
link(onTrue,3848631:doWork3,[(326,209)(326,237)(382,237)])
}
Add(DoData,13607988,336,196)
{
link(onEventData,3848631:doWork2,[])
}
Add(HubEx,3848631,378,196)
{
Angle=3
link(onEvent,10425368:doData,[(382,186)(194,186)(194,202)])
}
Add(MST_SetColors,16542452,378,385)
{
MSTControl="myTable"
Point(doTextBkColor)
}
Add(Button,3693301,105,315)
{
Left=110
Top=330
Data=Integer(0)
link(onClick,4247746:doNext,[])
}
Add(MST_SelectRow,5160862,273,406)
{
AutoMakeVisible=1
MSTControl="myTable"
Point(IndexSelect)
link(onSelectRow,3090824:doGetString,[])
link(IndexSelect,14532040:Var2,[(279,379)(160,379)])
}
Add(StrList,3090824,322,378)
{
Strings=#8:15204094|8:16777215|8:15007458|8:15657982|8:16777215|8:16771809|8:12381161|8:15007458|8:15657982|
Point(doGetString)
Point(onGetString)
Point(IdxToSelect)
link(onGetString,16542452:doTextBkColor,[])
link(IdxToSelect,14532040:Var3,[(342,362)])
}
Add(GetDataEx,14532040,154,357)
{
link(Data,4247746:Count,[])
}
Add(CounterEx,4247746,154,315)
{
link(onNext,13012467:doCompare,[])
}
Add(If_else,13012467,196,315)
{
Type=4
link(onFalse,5160862:doSelect,[(250,328)(250,412)])
link(Op2,2767388:Count,[])
}
В этой схеме сделал подачу кода цвета попроще, а вообще код цвета сохраняется и берётся из базы SQlite.
После формирования таблицы (полностью раскрашеной) далее при выделении строки не должны менять цвет. У меня это не получается.
Большое спасибо за помошь и критику.
карма: 0

0
Редактировалось 1 раз(а), последний 2021-03-18 16:34:47