| Строковая таблица MT | - MST_ColAction |
MST_ColAction
Краткое описание
Универсальный клиентский модуль MTStrTbl для работы со столбцами таблицы
Параметры
Методы
События
Свойства
Данные
Аргументы
InsertCol - [IndexCol][FormatStrCol0][FormatStrCol1] ... [FormatStrColN]
ReplaceCol - [IndexCol][FormatStrCol0][FormatStrCol1] ... [FormatStrColN]
DeleteCol - IndexCol
ClearCol - IndexCol
NameCol - [IndexCol][NameCol]
WidthCol - [IndexCol][WidthCol]
AlignTxtCol - [IndexCol][AlignTxtCol (0 - taLeft; 1 - taRight; 2 - taCenter)]
IdxIconCol - [IndexCol][IndexIcon]
AutoColWidth - IndexCol (-1 - AllColumns)
GetColParam - IndexCol
где: FormatStrCol - NameCol(ColDelimiter)WidthCol(ColDelimiter)IndexIcon(ColDelimiter)AlignTxtCol (0 - taLeft; 1 - taRight; 2 - taCenter). Примечание: экранирующие символы "(" и ")" в конечной строке применяться не должны, например: Col1=100==2 при ColDelimiter = "="
Примеры
Пример работы со столбцами (по индексу)
Пример организации "резиновых" столбцов
Add(MainForm,3063237,140,70)
{
Width=398
Height=456
link(onCreate,1976442:doEnum,[])
}
Add(MTStrTbl,15043066,140,119)
{
Width=390
Height=200
Name="MTStrTbl"
Columns=#3:Имя|7:Фамилия|8:Отчество|
CheckBoxes=0
MultiSelect=0
}
Add(StrList,4383086,182,14)
{
Strings=#20:Иван;Иванов;Иванович|24:Андрей;Андреев;Андреевич|33:Владимир;Владимиров;Владимироваич|26:Михаил;Михаилов;Михайлович|
}
Add(ArrayEnum,1976442,196,84)
{
link(onItem,16356153:doMT,[])
link(Array,4383086:Array,[])
}
Add(MST_RowAction,15395190,294,77)
{
MSTControl="MTStrTbl"
}
Add(MT_String,16356153,245,77)
{
link(onResult,15395190:doRowAction,[])
}
Add(PointHint,5981647,189,133)
{
Info=#35:Пример добавления столбца в таблицу|
Transparent=0
VAlign=0
Width=204
Height=179
}
Add(MST_ColAction,11720551,343,252)
{
MSTControl="MTStrTbl"
}
Add(Label,13360583,280,168)
{
Top=200
Width=98
Height=17
Caption="Добавить столбец"
}
Add(Edit,12372284,280,210)
{
Left=95
Top=200
Width=100
Text="Инициалы"
}
Add(Button,5024875,217,252)
{
Left=195
Top=200
Width=195
TabOrder=-1
Caption="Добавить"
link(onClick,10362313:doData,[])
}
Add(DoData,10362313,280,252)
{
link(onEventData,11720551:doColAction,[])
link(Data,12372284:Text,[])
}
Add(Label,2042849,483,161)
{
Top=225
Width=153
Height=17
Caption="Удалить столбец с индексом"
}
Add(Edit,5551791,483,203)
{
Left=155
Top=225
Width=95
Text="3"
}
Add(Button,11342427,420,252)
{
Left=255
Top=225
Width=135
TabOrder=-1
Caption="Удалить"
link(onClick,4744878:doData,[])
}
Add(MST_ColAction,7252200,553,252)
{
Action=3
MSTControl="MTStrTbl"
}
Add(DoData,4744878,483,252)
{
link(onEventData,7252200:doColAction,[])
link(Data,5551791:Text,[])
}
Add(PointHint,12070046,406,133)
{
Info=#34:Пример удаления столбца из таблицы|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(MST_ColAction,4239283,721,252)
{
Action=1
MSTControl="MTStrTbl"
}
Add(Label,1247760,721,161)
{
Top=250
Width=95
Height=17
Caption="Вставить столбец"
}
Add(Edit,3904680,721,203)
{
Left=95
Top=250
Width=75
Text="Инициалы"
}
Add(Button,14891891,637,252)
{
Left=255
Top=250
Width=135
TabOrder=-1
Caption="Вставить"
link(onClick,8211085:doAdd,[])
}
Add(Label,13338255,679,161)
{
Left=175
Top=250
Width=49
Height=17
Caption="в индекс"
}
Add(Edit,5618638,679,203)
{
Left=225
Top=250
Width=25
Text="2"
}
Add(MT_AddData,8211085,679,252)
{
link(onAdd,4239283:doColAction,[])
link(Data1,5618638:Text,[])
link(Data2,3904680:Text,[(692,244)(727,244)])
}
Add(PointHint,16628444,616,133)
{
Info=#43:Пример вставки столбца в таблицу по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(MST_ColAction,15242840,511,441)
{
Action=2
MSTControl="MTStrTbl"
}
Add(Label,540950,511,350)
{
Top=275
Width=142
Height=17
Caption="Заменить столбец строкой"
}
Add(Edit,8873151,511,392)
{
Left=145
Top=275
Width=75
Text="Инициалы"
}
Add(Button,3730642,427,441)
{
Left=305
Top=275
Width=85
Caption="Заменить"
link(onClick,2342730:doAdd,[])
}
Add(Label,1495555,469,350)
{
Left=225
Top=275
Width=49
Height=17
Caption="в индекс"
}
Add(Edit,6867995,469,392)
{
Left=275
Top=275
Width=25
Text="2"
}
Add(MT_AddData,2342730,469,441)
{
link(onAdd,15242840:doColAction,[])
link(Data1,6867995:Text,[])
link(Data2,8873151:Text,[(482,433)(517,433)])
}
Add(PointHint,11313848,406,322)
{
Info=#43:Пример замены столбца из таблицу по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(Button,10910312,651,441)
{
Left=305
Top=300
Width=85
TabOrder=-1
Caption="Очистить"
link(onClick,12296091:doData,[])
}
Add(Edit,3105683,700,392)
{
Left=275
Top=300
Width=25
Text="0"
}
Add(MST_ColAction,11675659,749,441)
{
Action=4
MSTControl="MTStrTbl"
}
Add(DoData,12296091,700,441)
{
link(onEventData,11675659:doColAction,[])
link(Data,3105683:Text,[])
}
Add(PointHint,1305452,616,322)
{
Info=#45:Пример очистки содержимого столбца по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(Edit,9716884,336,385)
{
Left=175
Top=325
Width=95
Text="Инициалы"
}
Add(Edit,1747138,336,553)
{
Left=175
Top=350
Width=95
Text="120"
}
Add(ComboBox,13837741,511,539)
{
Left=175
Top=375
Width=95
Height=21
Strings=#5:Влево|6:Вправо|9:По центру|
Point(Index)
}
Add(Button,4730061,252,441)
{
Left=305
Top=325
Width=85
TabOrder=-1
Caption="Применить"
link(onClick,2742904:doAdd,[])
}
Add(Edit,8440462,294,385)
{
Left=275
Top=325
Width=25
Text="0"
}
Add(Button,6541831,252,609)
{
Left=305
Top=350
Width=85
TabOrder=-1
Caption="Применить"
link(onClick,9173313:doAdd,[])
}
Add(Edit,8357097,294,553)
{
Left=275
Top=350
Width=25
Text="1"
}
Add(Button,8443625,427,609)
{
Left=305
Top=375
Width=85
TabOrder=-1
Caption="Применить"
link(onClick,5015443:doAdd,[])
}
Add(Edit,9560777,469,553)
{
Left=275
Top=375
Width=25
Text="2"
}
Add(Label,12763348,427,553)
{
Top=375
Width=104
Height=17
Caption="Выравнять столбец"
}
Add(MST_ColAction,3282705,336,441)
{
Action=5
MSTControl="MTStrTbl"
}
Add(MT_AddData,2742904,294,441)
{
link(onAdd,3282705:doColAction,[])
link(Data1,8440462:Text,[])
link(Data2,9716884:Text,[(307,429)(342,429)])
}
Add(MST_ColAction,12654522,336,609)
{
Action=6
MSTControl="MTStrTbl"
}
Add(MT_AddData,9173313,294,609)
{
link(onAdd,12654522:doColAction,[])
link(Data1,8357097:Text,[])
link(Data2,1747138:Text,[(307,597)(342,597)])
}
Add(MST_ColAction,15528921,511,609)
{
Action=7
MSTControl="MTStrTbl"
}
Add(MT_AddData,5015443,469,609)
{
link(onAdd,15528921:doColAction,[])
link(Data1,9560777:Text,[])
link(Data2,13837741:Index,[(482,597)(531,597)])
}
Add(Button,13427720,651,609)
{
Left=275
Top=400
Width=115
TabOrder=-1
Caption="Подогнать ширину"
link(onClick,16741737:doData,[])
}
Add(Edit,15491958,700,553)
{
Left=245
Top=400
Width=25
Text="-1"
}
Add(MST_ColAction,2580752,749,609)
{
Action=9
MSTControl="MTStrTbl"
}
Add(DoData,16741737,700,609)
{
link(onEventData,2580752:doColAction,[])
link(Data,15491958:Text,[])
}
Add(PointHint,188544,196,322)
{
Info=#40:Пример переименования столбца по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(PointHint,4625418,196,511)
{
Info=#42:Пример установки ширины столбца по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(PointHint,6904230,406,511)
{
Info=#50:Пример установки выравнивания в столбце по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(PointHint,6218739,616,511)
{
Info=#45:Пример автоподгонки ширины столбца по индексу|
Transparent=0
VAlign=0
Width=197
Height=179
}
Add(Label,9178825,651,392)
{
Top=300
Width=95
Height=17
Caption="Очистить столбец"
}
Add(Label,8161691,252,385)
{
Top=325
Width=129
Height=17
Caption="Переименовать столбец"
}
Add(Label,8173290,252,553)
{
Top=350
Width=148
Height=17
Caption="Установить ширину столбца"
}
Add(Label,5852536,651,553)
{
Top=400
Width=162
Height=17
Caption="Автоподгонка ширины столбца"
}
Add(MainForm,13509382,203,252)
{
Point(onResize)
link(onCreate,709485:doEvent1,[])
link(onResize,709485:doEvent2,[])
}
Add(VBoxLayout,10487328,203,294)
{
Name="vert"
Space=5
Padding=5
WidthScale=100
}
Add(MTStrTbl,13116961,518,189)
{
Width=392
Height=71
Name="tab"
Layout="vert"
WidthScale=100
HeightScale=100
Columns=#8:filename|5:?????|4:????|5:?????|10:??????(??)|
FlatScroll=1
Point(Width)
Point(onResize)
}
Add(Hub,709485,252,266)
{
InCount=2
link(onEvent1,5246730:doClear,[(412,272)(412,209)])
link(onEvent2,13725029:doEnum,[(284,279)(284,202)])
}
Add(MathParse,3218130,476,294)
{
DataCount=3
MathStr="%3 * Round((%2 / (%1 + 25)), 0.01)"
ResultType=0
link(onResult,2570595:doAdd,[])
link(X1,6210514:Var2,[])
link(X2,13116961:Width,[(489,264)(552,264)])
}
Add(MST_ColAction,14830025,574,294)
{
Action=6
MSTControl="tab"
}
Add(MT_Add,2570595,525,294)
{
InputMT=1
link(onAdd,14830025:doColAction,[])
link(Data,16645985:Index,[(531,282)(461,282)(461,338)(391,338)])
}
Add(Math,5246730,476,196)
{
ResultType=0
Point(doClear)
link(Op1,6210514:Var1,[(482,184)(470,184)(470,240)])
}
Add(GetDataEx,6210514,476,235)
{
link(Data,5246730:Result,[])
}
Add(MST_ArrayCols,11414318,301,133)
{
MSTControl="tab"
}
Add(ArrayEnum,13725029,301,196)
{
link(onItem,5814420:doSplit,[])
link(onEndEnum,16645985:doEnum,[(355,209)(355,300)])
link(Array,10600034:Var2,[])
}
Add(MultiStrData,5814420,364,196)
{
Char="="
From=1
Count=1
link(onPart1,5246730:doOperation,[])
}
Add(ArrayEnum,16645985,378,294)
{
link(onItem,654294:doSplit,[])
link(Array,10600034:Var3,[(384,180)])
}
Add(MultiStrData,654294,427,294)
{
Char="="
From=1
Count=1
link(onPart1,3218130:doCalc,[])
}
Add(GetDataEx,10600034,301,175)
{
link(Data,11414318:ColumnArray,[])
}
Примечание
Внимание! Метод AutoColWidth гарантировано работает только для стилей таблицы lvsDetail и lvsDetailNoHeader, для остальных стилей возможны неадекватные проявления работы этого метода
Замечания
Обновление элемента: [svn]MST_ColAction.pas[/svn]
BB-code статьи для вставки
Всего комментариев: 0
(комментарии к статье еще не добавлены)