SELECT d1, d12, d2, d11 FROM shmotki where name='%1'
когда я делал мне ячейки были нужны не в одной строке, а отдельными событиями
d1 например идет в заголовок формы
d2 это ссылка на фаил картинки
d3-d10 идет в таблицу свойств
d11 - суммируется со значениями из предыдущих запросов
[/offtop]
ну вопрос не в этом
можно ли заменить IndexToChanel, кучу Memory и MT_AddData несколькими компонентами
------------ Дoбавленo в 17.54:
Все придумал
Add(FormatStr,1868360,532,168)
{
DataCount=1
Mask="select * from shmotki where name='%1'"
link(onFString,16476611:_work_doRefresh,[])
}
Add(MST_RowAction,12105816,686,231)
{
Action=2
MSTControl="Shmot"
}
Add(InlineCode,16476611,588,168)
{
@Hint=#45:Формирует строку для добавления в StringTable|
WorkPoints=#15:_work_doRefresh|
EventPoints=#30:onRecNum=Номер записи (строка)|32:onColNum=Номер столбца (колонка)|22:onCell=Значение ячейки|84:onEnd=Конец запроса, Кол-во записей (строк) |
VarPoints=#33:_var_RecNum=Номер записи (строка)|35:_var_ColNum=Номер столбца (колонка)|
DataPoints=#37:_data_Query=Данные результата запроса|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|71:uses windows,Kol,Share,KOLEdb,Debug; //uses kol, Share, Debug; Win,|0:|4:type|30: THiAsmClass = class( TDebug )|10: private|17: FRecNum:Word;|17: FColNum:Word;|9: public|27: _data_Query: THI_Event;|24: onRecNum: THI_Event;|24: onColNum: THI_Event;|26: onCell: THI_Event; |21: onEnd: THI_Event;|55: // procedure doString( var _Data:TData; Index:word );|60: procedure _work_doRefresh(var _Data:TData; Index:word); |55: procedure _var_RecNum(var _Data:TData; Index:word);|55: procedure _var_ColNum(var _Data:TData; Index:word);|5: end;|0:|14:implementation|19: |13:uses hiMSSQL;|6: |0:|72:function SqlDateTimeStampToDateTime( TS: PSqlDateTimeStamp ): TDateTime;|20:var ST: TSystemTime;|5:begin|23: ST.wYear := TS.Year;|25: ST.wMonth := TS.month;|21: ST.wDay := TS.day;|23: ST.wHour := TS.hour;|27: ST.wMinute := TS.minute;|27: ST.wSecond := TS.second;|47: ST.wMilliseconds := TS.fraction div 1000000;|37: SystemTime2DateTime( ST, Result );|4:end;|0:|38:procedure THiAsmClass._work_doRefresh;|14:var qr:PQuery;|21: h,i:word; // ,n|13: dt:TData;|5:begin|41: dt := Readdata(_Data,_data_Query,nil);|34: if _isObject(dt,mssqlGUID) then|9: begin|34: qr := PQuery(ToObject(dt));|22:// _debug('ok');|18:// QR.First;|29:// _debug(QR.ColCount);|23: // Control.Clear;|40: // while Control.LVColCount > 0 do|34: // Control.LVColDelete(0);|0:|32: // if QR.ColCount > 0 then|40: // for i := 0 to QR.ColCount-1 do|95: // Control.LVColAdd(QR.ColNames[i],taleft,Control.Canvas.TextWidth(QR.ColNames[i])+20);|16: h:=0; |26: while not qr.EOF do|25: begin |36: _hi_onEvent( onRecNum, h );|22: FRecNum := h;|16: inc(h);|38: // N := Control.LVItemAdd('');|39: for i := 0 to QR.ColCount-1 do|16: begin|40: _hi_onEvent( onColNum, i );|26: FColNum := i;|41: case QR.Bindings[i].wType of|38: DBTYPE_STR,DBTYPE_WSTR:|24: // begin|52: _hi_onEvent( onCell, QR.SField[i]);|23: // end;|35: DBTYPE_I4,DBTYPE_I2:|52: _hi_onEvent( onCell, QR.SField[i]);|35: DBTYPE_R4,DBTYPE_R8:|52: _hi_onEvent( onCell, QR.SField[i]);|27: DBTYPE_NULL:|46: _hi_onEvent( onCell, 'NULL');|32: DBTYPE_EMPTY: |47: _hi_onEvent( onCell, 'EMPTY');|27: DBTYPE_DATE:|46: _hi_onEvent( onCell, '-dt-');|34: DBTYPE_DBTIMESTAMP:|102: _hi_onEvent( onCell, DateTime2StrShort( SqlDateTimeStampToDateTime(QR.TSField[i]) ));|17: end;|15: end;|17: QR.Next;|12: end;|41: _hi_onEvent( onEnd, QR.RowCount);|8: end;|4:end;|0:|0:|34:procedure THiAsmClass._var_RecNum;|5:begin|48: dtInteger(_Data, FRecNum);//_Data := FRecNum;|4:end;|0:|0:|34:procedure THiAsmClass._var_ColNum;|5:begin|50: dtInteger(_Data, FColNum);//_Data := FColNum;|4:end;|0:|0:|4:end.|
link(onCell,5174106:doAdd,[])
link(onEnd,3776698:doAdd,[(625,195)(625,237)])
}
Add(MT_Memory,6576510,651,112)
{
}
Add(MT_AddData,5174106,651,182)
{
Count=1
InputMT=0
link(onAdd,6576510:doValue,[(695,188)(695,153)(639,153)(639,118)])
link(Data1,15315969:Var2,[])
}
Add(GetDataEx,15315969,651,161)
{
link(Data,6576510:Value,[])
}
Add(MT_Add,3776698,630,231)
{
link(onAdd,12105816:doRowAction,[])
link(Data,15315969:Var1,[(636,166)])
}