Dbgrid在多选的状态下怎样判断有哪几行被选中?
gdSelected in State 只能判断当前选中行,不能判断选中了哪几行。
gdSelected in State 只能判断当前选中行,不能判断选中了哪几行。
解决方案 »
- button1在,menu1不在?
- 共享一套老版本的天心ERP源码下载地址
- 很麻烦得关于自定义打印得问题,请接触过的高手进来看看?
- 散分!在线!急!treeview中当单击一个节点时,显示其孩子;当单击另一个节点时,刚才显示的那个节点孩子消失,显示现在所选则的节点的孩子?如何
- 如何让程序只能在一个机器上运行
- 如何升明和使用API函数netsessiongetinfo?
- 怎么样能够把菜单和按钮欠入到ie里面
- 高薪是如何赚到的??--请关注(调查高薪者情况
- 很简单的问题,但我就是弄不清楚,请进来看看,好吗
- Bmp.SaveToFile 太慢了,有比这个方法效率更快的方法吗
- 我想问问 关于BASIC语言的一些东西
- delphi 中如何将string转成extended?急求。。。。。。strtofloat用不了啊?
begin
for i:=0 to DBGrid1.SelectedRows.Count - 1 do
begin
DBGrid1.DataSource.DataSet.GotoBook(Pointer(DBGrid1.SelectedRows.Items[i]));
ShowMessage(DBGrid1.DataSource.DataSet.Fields[0].AsString);
end;
end;
1、设置DBGrid可以多选:
设置Option中的dgRowSelect为True。2、在DBGrid界面,通过shift+Ctrl+鼠标点击,选中行,选中的行,显示为蓝色。3、选择多行的代码操作: 使用循环,通过判断,找到行列。With DBGrid1.DataSouece.DataSet do
begin
First;
while not Eof do
begin
if DBGrid1.SelectedRows.CurrentRowSelected then // 获得选中行
begin
for i := 0 to DbGrid1.Columns.Count - 1 do // 获得名列
begin
DBGrid1.Columns.Items[i].Field.Value // 获得行列值
end;
end;
Next;
end;
end;
if self.DBGridEh1.Selection.SelectionType=gstRectangle then
self.DBGridEh1.DataSource.DataSet.Book:=dbgridEh1.Selection.Rect.TopRow; while not self.ADOQuery1.Eof do
begin if DBGridEh1.DataSource.Dataset.CompareBooks(TBook(DBGridEh1.Selection.Rect.BottomRow),
TBook(DBGridEh1.DataSource.DataSet.Book)) = 0 then Break;
showMessage(self.ADOQuery1.FieldByName('a0188').Asstring);
self.ADOQuery1.Next;
end;