아래와 같이 출고량 입력값을 받아서, DBGrid1에서 입력값만큼 선택되도록 코딩했는데요…. 선택이 1개만 되네요…
코딩이 어디서 잘못됐는지 모르겠네요… ㅜㅜ
도와주세요.
procedure Tgoods_output_reg.select_buttonClick(Sender: TObject);
//입력된 출고량 만큼 DBGrid1에서 선택하기
var i, select_count : Integer;
begin
select_count := StrToInt(Output_count_num.Text); //입력값
DBGrid1.SelectedRows.Clear;
DBGrid1.SelectedIndex := -1;
begin
for i := 0 to select_count -1 do
begin
DBGrid1.SelectedRows.CurrentRowSelected := True;
Next;
end;
end;
selected_count.Text := IntToStr(DBGrid1.SelectedRows.Count);
end;
이게 포함되어야 SelectedRows 가 제대로 동작되거든요.
그리고 소스를 보니까 Next 부분에 데이터 셋 부분이 없네요.
데이터 셋에 직접 물리시거나 DBGrid1.DataSource.DataSet.Next 가 되어야 하지 않을까 싶네요.
그것만 체크 하시면 될꺼 같네요.
아래와 같이 하기만 해도 4개 행이 선택되니까 아마 아래 하신것도 맞는 처리인것 같네요...
그럼...
procedure TForm1.Button1Click(Sender: TObject);
begin
DbGrid1.SelectedRows.Clear;
DbGrid1.SelectedRows.CurrentRowSelected := True;
table1.Next;
DbGrid1.SelectedRows.CurrentRowSelected := True;
table1.Next;
DbGrid1.SelectedRows.CurrentRowSelected := True;
table1.Next;
DbGrid1.SelectedRows.CurrentRowSelected := True;
end;