Delphi DBGrid实现多选

DBGrid1.Options:= DBGrid1.Options+[dgMultiSelect];  //先设置DBGrid1的多选属性为True

if DBGrid1.SelectedRows.Count>0 then

begin

with DBGrid1.DataSource.DataSet do

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

begin

GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[i]));

if Edit1.Text=‘‘ then

Edit1.Text:=trim(FieldValues[‘CODE‘])

else

Edit1.Text:=Edit1.Text+‘,‘+trim(FieldValues[‘CODE‘]);

end;

end

时间: 2024-10-15 00:08:05

Delphi DBGrid实现多选的相关文章

Delphi DBGrid记录全选和反选拖动处理

DBGrid1.DragMode   :=   dmManual;//留意这个设置不要变 procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); procedure TForm18.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);begincase   Msg.message   of          WM_LBUTTO

delphi怎么实现全选的功能

1. SelectAll 可以实现全选功能 Delphi/Pascal code edit1.SelectAll; // Delphi/Pascal code RichEdit1.SelStart:=0; RichEdit1.SelectAll;

DELPHI dbgrid 选中的是第几行 怎么判断?

使用DataSource.DataSet.RecNo可以得到dbgrid选中的是第几行,示例代码如下: procedure TForm1.btn1Click(Sender: TObject); begin ShowMessage(IntToStr(dbgrd1.DataSource.DataSet.RecNo)); end; 效果如下: 先用ADOQuery连接数据库在DBgrid内显示出来~~~~之后在DBgrid的OnCellClick事件写如下代码procedure TForm1.DBGr

Delphi DBGrid图显用法

procedure TForm10.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState);var Im1: TBitmap;staff_id: string;beginIm1:=TBitmap.Create;if (dm.AQ_personal.RecordCount = 0) then exit;if Column.Fi

Delphi DBGrid双击事件、单元格操作

1.得到当前格子中的内容: DBGrid1.Fields[DBGrid1.SelectedIndex].DisplayText; 把DBGrid1.SelectedIndex改为你所希望引用的字段就可以了,如第3个字段. DBGrid1.Fields[3].DisplayText; 2.双击单元格触发不同事件 procedure TMainFrm.DBGrid1DblClick(sender:TObject); begin if dbgrid1.fields[dbgrid1.selectedIn

delphi dbgrid数据导出为excel

uses Excel2000,ComObj; procedure F_Form.Button1Click(Sender: TObject);var    myExcel:TExcel;    Int_i,Int_j,rowCount,columnCount:Integer;    ExcelId:Variant;begin  try      ExcelId:=CreateOleObject('Excel.Application');  except      on Exception do r

delphi 右键删除dbgrid行

Delphi DBGrid右键删除行并提交至数据库.在form上添加,控件TPopupMenu,并指定右键名称:删行 2.编写删除语句: If ADOQuery1.State in [dsEdit, dsInsert] then ADOQuery1.Post;    If ADOQuery1.RecordCount <> 0 then ADOQuery1.Delete; 3.把dbgrid的PopupMenu属性,设置成刚刚添加的控件TPopupMenu. 4.编译,运行

解决delphi的 dbgrid在读取access文本型字段显示TWideMemoField的问题

原文:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E7%9F%A5%E8%AF%86%E5%BA%93/22028.shtml "解决delphi的 dbgrid在读取access文本型字段显示TWideMemoField的问题": 关键词:解决 delphi dbgrid 读取 access 文本 型 字段 显示 twidememofield 问题 如题:delphi 的dbgrid在读取access文本型字段会显示twi

DBGrid中Shift多选

[dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgMultiSelect] 相关代码 procedure TFamEditPeople.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin FKeyShift :=