被選擇的行... SelectedRows: TBookList procedure TForm1.Button1Click(Sender: TObject); var i, j: Integer; s: string; begin if DBGrid1.SelectedRows.Count>0 then with DBGrid1.DataSource.DataSet do for i:=0 to DBGrid1.SelectedRows.Count-1 do begin GotoBook(pointer(DBGrid1.SelectedRows.Items)); for j := 0 to FieldCount-1 do begin if (j>0) then s:=s+', '; s:=s+Fields[j].AsString; end; Listbox1.Items.Add(s); s:= ''; end; end;
dbgrideh.selectedrows記載了所有被選擇行的book;利用SelectedRows和GotoBook完成。代碼如下: (得到選擇的行,怎樣操作都行如插入一張表中)自己研究一下procedure TForm1.Button1Click(Sender: TObject); var i, j: Integer; s: string; begin if DBGrid1.SelectedRows.Count>0 then with DBGrid1.DataSource.DataSet do for i:=0 to DBGrid1.SelectedRows.Count-1 do begin GotoBook(pointer(DBGrid1.SelectedRows.Items)); for j := 0 to FieldCount-1 do begin if (j>0) then s:=s+', '; s:=s+Fields[j].AsString; end; Listbox1.Items.Add(s); s:= ''; end; end;
第一个问题不知道你要操作什么procedure TForm1.DBGridEh1CellClick(Column: TColumnEh); begin //字段名 ShowMessage(Column.FieldName); //标题名 ShowMessage(Column.Title.Caption); end;
SelectedRows: TBookList
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBook(pointer(DBGrid1.SelectedRows.Items));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBook(pointer(DBGrid1.SelectedRows.Items));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
begin
//字段名
ShowMessage(Column.FieldName);
//标题名
ShowMessage(Column.Title.Caption);
end;
DBGridEh.SelectedRows.Count;
2.点中某列知道列名
Column.FieldName;
但无法知道我选中的列名,永远是第一列。
当dbgrideh.selectedrows 设为False时,可知道我选中的列名,但无法统计数量。
怎么办???