ShowMessage(DBGrid1.DataSource.DataSet.FieldByName('field_01').AsString);
or
ShowMessage(DBGrid1.DataSource.DataSet.Fields[0].AsString);
上面可以得到当前选中的数据!
怎么可以得到多选的那??
...全文
2809打赏收藏
怎么可以得到在DBGrid中选中的多行数据!
ShowMessage(DBGrid1.DataSource.DataSet.FieldByName('field_01').AsString); or ShowMessage(DBGrid1.DataSource.DataSet.Fields[0].AsString); 上面可以得到当前选中的数据! 怎么可以得到多选的那??
procedure TSBGZJHBMLDSPForm.tbPlspClick(Sender: TObject);
var
maxcount,j:integer;
begin
if RadioGroup2.ItemIndex=0 then
begin
if not Query1.IsEmpty then
begin
if DbgridEh1.SelectedRows.Count=0 then
begin
showmessage('请选择要批审的记录!前头框边颜色为黑色为选中.');
Exit;
end else
begin
if MessageBox(Handle,'你确定批量审批这些记录吗?','询问',
MB_ICONQUESTION+MB_YESNO)=mrYes then
begin
maxcount:=DbGridEh1.SelectedRows.Count - 1;
for j := 0 to DbgridEh1.SelectedRows.Count - 1 do
begin
maxcount:=DbgridEh1.SelectedRows.Count - 1;
with DbGridEh1.DataSource.DataSet do
begin
GotoBookmark(pointer(DBGridEh1.SelectedRows.Items[j]));
if Query1SPJG.Value='0' then
begin
Query1.Edit;
Query1SPSL1.Value:=Query1SL.Value;
Query1SPZJ1.Value:=Query1YSZJ.Value;
Query1SPJG.Value:='1';
//单项小于10万元的项目赋值下一级
if not ((Query1SPSL1.AsFloat=0) or (Query1SPSL1.AsFloat=null)) then
begin
if (Query1SPZJ1.AsFloat/Query1SPSL1.AsFloat<10) then
begin
Query1SPSL2.Value:=Query1SPSL1.Value;
Query1SPZJ2.Value:=Query1SPZJ1.Value;
end;
end;
Query1.Post;
Query1.ApplyUpdates;
Query1.CommitUpdates;
end;
end;
end;
showmessage('数据批量审批完毕!');
OpenQuery(Query1,Query1.SQL.Text);
Query1AfterScroll(Query1);
end;
end;
end;
end else
begin
showmessage('请选择未批的数据审批!');
exit;
end;
end;
var
temp:bookmark;
begin
for i:=0 to dbgrid.selecterows.count-1 do begin
temp:=dbgrid.selectrows.items[i];
table1.gotomark(temp);
for j:=0 to table.fieldcount-1 do
保存当前记录
table1.freebookmark(temp);
end;
即可处理
with DBGrid.Datasource.Dataset do
begin
if not Active then Abort;
DisableControls;
try
First;
while not EOF do
begin
if DBGrid.SelectedRows.CurrentRowSelected then
begin
\\do you want
end;
Next;
end;
finally
EnableControls;
end;
end;
with DBGrid.Datasource.Dataset do
begin
if not Active then Abort;
DisableControls;
try
First;
while not EOF do
begin
DBGrid.SelectedRows.CurrentRowSelected:=True;
Next;
end;
finally
EnableControls;
end;
end;