일부 필드의 값에 따라 일부 필드의 배경색을 변경하는 cxGrid가 있습니다. 이것은 모두 정상적으로 작동합니다. 그러나 그리드 데이터에서 무엇인가를 지정하면, 내 양식을 다시 닫기 전에 색이 업데이트되지 않습니다.cxGrid의 색상 새로 고침
레코드가 변경되는 경우이 정보를 얻기 위해 호출해야하는 절차는 무엇입니까?
일부 필드의 값에 따라 일부 필드의 배경색을 변경하는 cxGrid가 있습니다. 이것은 모두 정상적으로 작동합니다. 그러나 그리드 데이터에서 무엇인가를 지정하면, 내 양식을 다시 닫기 전에 색이 업데이트되지 않습니다.cxGrid의 색상 새로 고침
레코드가 변경되는 경우이 정보를 얻기 위해 호출해야하는 절차는 무엇입니까?
행을 전환하면 내 경험에 업데이트됩니다. 하지만 TClientDataSet과 함께 DB 모드로 사용했습니다.
확인 방법은 TcxControl.InvalidateRect
또한 노드를 무효화 할 수 있습니다. Invalidat 이자형;
이벤트 TcxCustomGridTableViewStyles.OnGetContentStyle
도
- "무효"단어의 CXTL 장치와 GREP을 열고 모든 일치를 확인합니다.
OP가 cxList가 아닌 ** cxGrid **에 대해 이야기하고 있습니다. ;-) –
젠장, 내 경험에 도움이되는 파일을 만들 수 없었다 - 나는 잘못된 구성 요소를 보았다 :-) –
그리드가 데이터 세트에 첨부되고 데이터 세트의 데이터가 변경되면 OnGetContentStyle 이벤트가 자동으로 호출됩니다. 데이터 세트가 업데이트되었는지 확인하십시오. 편집 양식이 그리드 데이터 세트에 자체를 새로 고치라고 말하지 않는 것 같습니다. 콜백 절차를 사용하거나 Observer Pattern을 구현하면됩니다.
다음 코드는 모눈 열에 대해 OnGetContentStyle 이벤트를 구현하는 방법을 보여줍니다.
procedure TFormWithGrid.cxGrid1DBTableView1LASTNAMEStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; var AStyle: TcxStyle);
begin
if ARecord.Values[cxGrid1DBTableView1FIRSTNAME.Index] = 'test' then
begin
AStyle := TcxStyle.Create(nil);
AStyle.Color := clRed;
AStyle.Font.Style := [fsBold];
end;
end;
공급 업체에 문의 했습니까? http://www.devexpress.com/Support/Center/ –
.UpdateXXX 또는 .InvalidateXXX와 같은 절차가 많이 있습니다. –
색상 변경을 위해 어떤 이벤트를 사용하고 있습니까? 행이나 항목에 대한 OnGetContentStyle은 일반적으로 트릭을 수행합니다. –