delphi 列出DBGridEH被选中的值

//列出DBGridEH被选中的值
procedure TForm1.N4Click(Sender: TObject);
 Var
    I:Integer;
begin
   for I := 0 to DBGridEh4.SelectedRows.Count-1 do
      begin
        DBGridEh4.DataSource.DataSet.GotoBookmark(pointer(DBGridEh4.SelectedRows.Items[i]));
        Memo1.Lines.Add(DBGridEh4.Fields[1].AsString);
      End;
end; 





扩展:

选中多行判断值,先做一个判断


首先要打开 dbgrideh属性 中的多重选择 options->dgmultiselect

 

procedure TForm3.N5Click(Sender: TObject);

var

 i: Integer;

begin

 if DBGridEh1.SelectedRows.Count>0 then

   with DBGridEh1.DataSource.DataSet do

     for i:=0 to DBGridEh1.SelectedRows.Count-1 do

     begin

       GotoBookmark(pointer(DBGridEh1.SelectedRows.Items[i]));

       Listbox1.Items.Add(Fields[0].AsString);

     end;

 

end;

---以下是全选与反选的的,没测试

//全选

procedure TFrameCustSelector.ToolButton1Click(Sender: TObject);
var
	OldCurrent: TBookmark;
begin
	OldCurrent := DBGrid1.DataSource.DataSet.Bookmark;
	DBGrid1.DataSource.DataSet.DisableControls;

	DBGrid1.DataSource.DataSet.First ;
	while not DBGrid1.DataSource.DataSet.Eof do begin
		DBGrid1.SelectedRows.CurrentRowSelected := true;
		DBGrid1.DataSource.DataSet.Next;
	end;

	DBGrid1.DataSource.DataSet.GotoBookmark(OldCurrent);
	DBGrid1.DataSource.DataSet.EnableControls;
end;

//全清

procedure TFrameCustSelector.ToolButton2Click(Sender: TObject);
var
	OldCurrent: TBookmark;
begin
	OldCurrent := DBGrid1.DataSource.DataSet.Bookmark;
	DBGrid1.DataSource.DataSet.DisableControls;

	DBGrid1.DataSource.DataSet.First ;
	while not DBGrid1.DataSource.DataSet.Eof do begin
		DBGrid1.SelectedRows.CurrentRowSelected := False;
		DBGrid1.DataSource.DataSet.Next;
	end;

	DBGrid1.DataSource.DataSet.GotoBookmark(OldCurrent);
	DBGrid1.DataSource.DataSet.EnableControls;
end;

//反选
procedure TFrameCustSelector.ToolButton3Click(Sender: TObject);
var
OldCurrent: TBookmark;
begin
	OldCurrent := DBGrid1.DataSource.DataSet.Bookmark;
	DBGrid1.DataSource.DataSet.DisableControls;

	DBGrid1.DataSource.DataSet.First ;
	while not DBGrid1.DataSource.DataSet.Eof do begin
		DBGrid1.SelectedRows.CurrentRowSelected := not DBGrid1.SelectedRows.CurrentRowSelected;
		DBGrid1.DataSource.DataSet.Next;
	end;

	DBGrid1.DataSource.DataSet.GotoBookmark(OldCurrent);
	DBGrid1.DataSource.DataSet.EnableControls;
end;
————————————————
版权声明:本文为CSDN博主「踏雪无痕」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zengcong2013/article/details/10586051

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值