I can reproduce the problem (XE5, Win7 64bit) and can force the grid to
redraw this way:
procedure TForm1.ValueListEditor1StringsChange(Sender: TObject);
begin
if not (csLoading in ComponentState) and Assigned(ValueListeditor1) and not InChange then begin
InChange := true;
try
if ValueListEditor1.Row = 1 then begin
ValueListEditor1.Values['Foo3'] := ValuelistEditor1.Cells[1,1];
Valuelisteditor1.Invalidate; // <== this redraws the grid properly
end;
finally
InChange := False;
end;
end;
end;
redraw this way:
procedure TForm1.ValueListEditor1StringsChange(Sender: TObject);
begin
if not (csLoading in ComponentState) and Assigned(ValueListeditor1) and not InChange then begin
InChange := true;
try
if ValueListEditor1.Row = 1 then begin
ValueListEditor1.Values['Foo3'] := ValuelistEditor1.Cells[1,1];
Valuelisteditor1.Invalidate; // <== this redraws the grid properly
end;
finally
InChange := False;
end;
end;
end;
No comments:
Post a Comment