![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Необходимо выделять в гриде часть строки, которая удовлетворяет условию. Например ищем строки '%ива%'
в гриде хотелось бы отобразить примерно так: Иванов Сергей Василий Иванович и т.д. Properties для столбца выставлен в RichEdit. Но вот до свойств SelStart и SelLength я так и не добрался. TcxRichEditProperties(G1DBTableView1Firm_name.Prop erties) - не дает нужных свойств. Может кто знает как в dev это реализовать? |
|
#2
|
||||
|
||||
|
Все оказалось просто. Если кому вдруг понадобиться:
Код:
procedure TClientContactForm.G1DBTableView1Firm_nameGetDisplayText(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AText: string);
var
AStr, BStr: string;
selection_Start, selection_Length: integer;
begin
inherited;
if ARecord <> nil then begin
AStr := Arecord.Values[G1DBTableView1Firm_name.Index];
BStr := lcbFirm.text;
selection_Start := pos(AnsiUpperCase(BStr), AnsiUpperCase(AStr));
selection_Length := Length(BStr);
RichEdit1.Text:=AStr;
RichEdit1.SelStart :=selection_Start;
RichEdit1.SelLength :=selection_Length;
RichEdit1.SelAttributes.Color := clBlue;
RichEdit1.SelAttributes.Style :=[fsbold];
AText:=RichEdit1.EditValue ;
end;
end; |