var
I, FoundPos: integer;
AColumn : TcxGridDBColumn;
AText : String;
begin
AText := 'Blue Sports';
with cxGrid1DBTableView1 do
begin
AColumn := GetColumnByFieldName('Company');
for I := 0 to ViewData.RecordCount - 1 do
if ViewData.Rows[I].IsData then
begin
ViewData.Rows[I].Focused := True;
with Controller.EditingController do
begin
ShowEdit(AColumn);
FoundPos := TcxRichEdit(Edit).FindText(AText, 0, Length(TcxRichEdit(Edit).Text), [stMatchCase]);
if not (FoundPos < 0) then
begin
TcxRichEdit(Edit).SelStart := FoundPos;
TcxRichEdit(Edit).SelLength := Length( AText);
SendMessage(TcxRichEdit(Edit).InnerControl.Handle,EM_SCROLLCARET, 0, 0);
Break;
end
else
AColumn.Editing := False;
end;
end;
end;
end;
直接摘的代码,原文出处:
http://www.devexpress.com/Support/Center/p/B3656.aspx?searchtext=Allow
这段代码展示了如何在CXGRID中查找特定文本'Blue Sports',并在找到时将其所在单元格高亮显示。通过遍历数据视图,获取指定列,然后在编辑控制器中显示编辑并进行文本搜索。当找到匹配项时,设置光标位置并滚动到可见区域。
583

被折叠的 条评论
为什么被折叠?



