Delphi如何在表格的各列中使用控件名称+变量这样的
我需要得到,常量+变量,这样的控件名,一般的方式是
(FindComponent('Edit'+inttostr(i)) as TEdit).Text := inttostr(i);或者
TEdit(FindComponent('Edit'+inttostr(i)) ).Text := inttostr(i);
但是我需要在一个表格中某列循环检查,表格中的列名都是cxgrdbclmn_+变量,这样的特定形式,但是我在操作时,当我在表格中输入第一个值后,正常,但是输入第二个之后,就出现了下图
代码如下
for i:=0 to cxgrdbtblvw_Cartoon.DataController.RecordCount-1 do begin if cxgrdbtblvw_Cartoon.DataController.Values[i, TcxGridDBColumn(FindComponent('cxgrdbclmn_'+ScanNameTxt.Text)).Index]=ScanNumTxt.Text then begin ShowMessage('此数据在列表中已存在'); ScanNumTxt.Clear; ScanNumTxt.SetFocus; Exit; end; end;var i,itemidx:integer;begin itemidx:=cxgrdbtblvw_Cartoon.FindItemByName('cxgrdbclmn_'+ScanNameTxt.Text).Index; for i:=0 to cxgrdbtblvw_Cartoon.DataController.RecordCount-1 do begin if cxgrdbtblvw_Cartoon.DataController.Values[i,itemidx]=ScanNumTxt.Text then begin ShowMessage('此数据在列表中已存在'); ScanNumTxt.Clear; ScanNumTxt.SetFocus; Exit; end; end;end;