つい先日、質問した件に類似していますが、
列に対しての入力不可にすることはできましたが、
行に対しての入力不可にすることが分かりません。
また、特定のセル(例えば、座標(3,3)のセル)のみ入力不可に
することも分かりませんでした。
列のColumnsのプロパティには、ReadOnlyがありますが、
行は、いったい?
uses
..., FMX.Edit;
procedure TForm1.StringGrid1SelChanged(Sender: TObject);
var
i: Integer;
Control: TStyledControl;
begin
// 10 行目をすべて ReadOnly にする
for i:=0 to StringGrid1.ColumnCount-1 do
begin
Control := StringGrid1.Columns[i].CellControlByRow(9); // 10 行目
if Assigned(Control) then
TEdit(Control).ReadOnly := True;
end;
end;
こんな感じでやれると思います。
一旦、Assigned でセルコントロールが存在するかをチェックするのがミソです。
[TStringGrid の使い方 (Delphi FireMonkey Tips)]
http://ht-deko.minim.ne.jp/techf011.html
前回に引き続き、今回もありがとうございました。
できました。
なるほど、Assignedを使用するんですね。
ツイート | ![]() |