请问各位高手怎么在DBGRID中选取多条记录并一次把选中的多条记录添加到另一表中?
解决方案 »
- delphi 2010 字符串长度问题
- 菜鸟问题:能否用下拉框来控制其他组件的显示?
- 关于StringGrid的消息
- 救命啊!放假一来发现所有的电脑上的系统都不可以使用了,提示一个错ntdll.dll出错啊!
- 各位老大,怎么用indy 的 idUdpServer 和client组件做一个服务器和多用户的实时交互程序?
- 点击dbgrid中的某处,请问如何获得点击处的数据(风雪裸体跪求,在线等待,解决立即给分)
- 如何利用RTTI对组件的布尔型属性进行赋值,救命啊
- 为什么我的ApplicationEvent不能截获 我需要的消息 WM_CLOSE,WM_DESTROY,WM_QUIT等?
- 简单问题(散分)
- 使用storedproc控件调用存储过程出错,求助!!在线等待!!!
- 编译、建立时选中了build with runtime package 发布时需要提供哪些包?
- delphi调用vb写的Active dll 加载成功,运行时候出现访问地址错误!
for i := 0 to DBGrid1.SelectedRows.Count -1 do
begin
Table1.GotoBook(Pointer(BookList1[i]));
Table2.Insert;
Table2.FieldByName('xxx'):=Talbe1.FieldByName('xxx');
.....
Table1.delete;
end;
table2.ApplyUpdates;
把满足条件的记录insert到表中
dbgrid.dgRowSelect:=true;
dbgrid.dgMultiSelect:=true;
然后新增:
for i := 0 to dbgrid.SelectedRows.Count - 1 do
begin
GotoBook(Pointer(dbgrid.SelectedRows.Items[i]));
with Table2 do
begin
FieldByName('').Value := dbgrid.datasource.dataset.FieldByName('').Value;
...
end;
end;
dbgrid.dgMultiSelect:=true;
var i:integer;
begin
for i := 0 to dbgrid1.SelectedRows.Count - 1 do
begin
table1.GotoBook(Pointer(dbgrid1.SelectedRows.Items[i]));
with Table2 do
begin
insert;
FieldByName('bmdm').Value := dbgrid1.DataSet.Fields[1].AsString;('bmdm').Value;
FieldByname('bmmc').Value:=dbgrid1.DataSource.DataSet.Fields[1].AsString;
fieldbyname('xm').Value:=dbgrid1.DataSource.DataSet.Fields[2].AsString;
fieldbyname('bh').Value:=dbgrid1.DataSource.DataSet.Fields[3].AsInteger;
post;
end; end;
end;
为什么不行请高手指点
虽然GRID是选择了多行
但数据集只有一条记录获得了焦点
我一般用StringGrid
STRINGGRID是第三方控件吗?
果然照四方!
Stringgrid 这么看应该眼熟了吧,就是DELPHI里自带的
然后再加一个复选框:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then
keybd_event(VK_CONTROL,0,0,0)
else
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
end;