PDA

View Full Version : How do you change the selected row in a TDBGrid


Robbo423
06-10-2002, 01:36 AM
I want to run a loop from the first row to the last row of a tdgrid updating a value for every row for a particular column. I tried this but it doesnt work

procedure Tfrmhirings.Button1Click(Sender: TObject);
begin
var overdue: real;
j :interger;
begin
Table1.open;
for j:=1 to dbgrid1.selectrows.count -1 do
begin
//This line I am unsure about//
dbgrid1.selectedrows.value:=j+1;
// See above//
dbnavhirings.btnclick(nbEdit);
overdue:=Date - Table1.FieldByName('ReturnDate').AsDateTime;
if overdue<0 then begin
overdue:=0;
end;
Table1.FieldByName('DaysOverdue').Value:=overdue;
end;
end;

Thanks

LörAn
06-10-2002, 01:46 AM
Maybe you can try this :

for j := 0 to DBGrid1.SelectedRows.Count-1 do begin
GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[j]));
Table1.Edit;
overdue := Date - Table1.FieldByName('ReturnDate').AsDateTime;
if overdue < 0 then begin
overdue := 0;
end;
Table1.FieldByName('DaysOverdue').Value := overdue;
Table1.Post;
end;

And if you wanna unselect each row once proceeded, just add this line before the last end; instruction :
DBGrid1.SelectedRows.CurrentRowSelected := False;


LörAn.
MAIL: loran@superheros.as
ICQ : 112714184