procedure TForm1.btnSelectValueClick(Sender: TObject); var I:Integer; begin for I:=0 to tvcxgd1DBTableView1.DataController.GetSelectedCount do begin ShowMessage(VarToStr(tvcxgd1DBTableView1.DataController.GetValue(I,0))); //得到选中记录的第一个字段的值 end; end;
我用你的方法试了下, 用 showmessage(inttostr(cxGrid1DBTableView1.DataController.GetSelectedCount )); 可以下确得出选中了多少条的记录; 但是用以下方法 procedure TFrmCKDCX.Button2Click(Sender: TObject); var i:integer; begin for i:=0 to cxGrid1DBTableView1.DataController.GetSelectedCount-1 do begin showmessage(cxGrid1DBTableView1.DataController.GetValue(i,12)); end; end; 无论你是如何多选记录的,它总是从第一条记录开始遍历的,比如说,我选中的记录是第5,8,9条 但它显示的数据是第1,2,3条记录cxGrid1DBTableView1的Multiselect 设为true了,请问还要设置其它的吗?
不好意思, 上面的代码有误下面才正确, 如果搞定请早些结贴谢procedure TForm1.btnSelectValueClick(Sender: TObject); var I, J:Integer; begin for I:=0 to tvcxgd1DBTableView1.DataController.GetSelectedCount-1 do begin J:=tvcxgd1DBTableView1.DataController.GetSelectedRowIndex(I); ShowMessage(VarToStr(tvcxgd1DBTableView1.DataController.GetValue(J,0))); end; end;
var
I:Integer;
begin
for I:=0 to tvcxgd1DBTableView1.DataController.GetSelectedCount do begin
ShowMessage(VarToStr(tvcxgd1DBTableView1.DataController.GetValue(I,0)));
//得到选中记录的第一个字段的值
end;
end;
用
showmessage(inttostr(cxGrid1DBTableView1.DataController.GetSelectedCount ));
可以下确得出选中了多少条的记录;
但是用以下方法
procedure TFrmCKDCX.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to cxGrid1DBTableView1.DataController.GetSelectedCount-1 do
begin
showmessage(cxGrid1DBTableView1.DataController.GetValue(i,12));
end;
end;
无论你是如何多选记录的,它总是从第一条记录开始遍历的,比如说,我选中的记录是第5,8,9条
但它显示的数据是第1,2,3条记录cxGrid1DBTableView1的Multiselect 设为true了,请问还要设置其它的吗?
var
I, J:Integer;
begin
for I:=0 to tvcxgd1DBTableView1.DataController.GetSelectedCount-1 do begin
J:=tvcxgd1DBTableView1.DataController.GetSelectedRowIndex(I);
ShowMessage(VarToStr(tvcxgd1DBTableView1.DataController.GetValue(J,0)));
end;
end;
谢谢