一我想在TDBGrid中选中多条记录后拖至Dbtreeview中的一个目录时,将所有选中记录'名称'字段的值改为此目录名.我用下面的试了一下,发现只能修改鼠标按信住的那条记录的值.
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
T: TTreeNode;
begin
T:= TreeView1.GetNodeAt(X, Y);
Accept:= (Source is TDBGrid) and (T <> nil);
end;procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var T:TTreenode;
i,j:integer;
begin
T:=TreeView1.getnodeat(x,y);
begin
for i:=1 to DBGrid1.SelectedRows.Count-1 do
dbgrid1.DataSource.DataSet.GotoBook(Pointer(DBGrid1.SelectedRows.Items[i-1]));
dbgrid1.DataSource.DataSet.Edit;
dbgrid1.DataSource.DataSet.FieldByName('名称').Text:=T.Text;
dbgrid1.DataSource.DataSet.post;
end;
end;procedure TForm1.DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:= (Source is TDBGrid);
end;procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then
DBGrid1.BeginDrag(True)
else
DBGrid1.EndDrag(False);
end;
二我想在修改完treeview的目录名后,马上得到修改后的目录名的值,再根据此目录名对数据进行查询操作.该用哪个事件。
我首先在修改目录这个菜单里添加了treeview.selected.edittext;然后在onendedit事件中用newname:=treeview1.selected.text;但得到的却还是修改前的目录名,请各位高手指点。谢谢.
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
T: TTreeNode;
begin
T:= TreeView1.GetNodeAt(X, Y);
Accept:= (Source is TDBGrid) and (T <> nil);
end;procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var T:TTreenode;
i,j:integer;
begin
T:=TreeView1.getnodeat(x,y);
begin
for i:=1 to DBGrid1.SelectedRows.Count-1 do
dbgrid1.DataSource.DataSet.GotoBook(Pointer(DBGrid1.SelectedRows.Items[i-1]));
dbgrid1.DataSource.DataSet.Edit;
dbgrid1.DataSource.DataSet.FieldByName('名称').Text:=T.Text;
dbgrid1.DataSource.DataSet.post;
end;
end;procedure TForm1.DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:= (Source is TDBGrid);
end;procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then
DBGrid1.BeginDrag(True)
else
DBGrid1.EndDrag(False);
end;
二我想在修改完treeview的目录名后,马上得到修改后的目录名的值,再根据此目录名对数据进行查询操作.该用哪个事件。
我首先在修改目录这个菜单里添加了treeview.selected.edittext;然后在onendedit事件中用newname:=treeview1.selected.text;但得到的却还是修改前的目录名,请各位高手指点。谢谢.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货