一个Navigator和一个DBGrid连接到同一个DataSource
当点击Navigator的添加按钮的时候DBGrid会添加一个空行让你添加一条新记录
然后保存提交 现在我想要知道 右键弹出添加菜单 如何点击菜单也实现这样的工能?

解决方案 »

  1.   

    DBgrid的dataset的type如果是Table的话
    可以写
    Table.insert(插入)
    Table.append(最后一条记录后追加)
    Table.edit(当前记录编辑)
    Table.post(提交保存)根据需要在你的菜单的Onclick事件内写代码就可以了
      

  2.   

    加一个ACTIONLIST,里面有数据集的基本操作
    然后指定MENUITEM的ACTION属性
      

  3.   

    DBgrid的dataset的type如果是Query的话呢???
      

  4.   

    呵呵query,table都是从数据类总类继承下来的,上面的属性方法都有的,你试试就知道了:)
      

  5.   

    procedure TMDIFormBase.addmenuClick(Sender: TObject);  //增加数据
    var
        ObjTemp: TComponent;
        Query: TdbDataSet;
        Ds: TDataSource;
    begin
        ObjTemp:=DBPopMenu.PopupComponent;
        if (ObjTemp is TDBGrid) then  //如果是数据显示控件
        begin
            DS:= TdbGrid(ObjTemp).DataSource;
            if DS=nil then exit;
            TdbGrid(ObjTemp).Options:= TdbGrid(ObjTemp).Options + [dgEditing];
            TdbGrid(ObjTemp).EditorMode:= true;
            Query:= TDBDataSet(Ds.DataSet);
            if query.canmodify then
             begin   
                Query.Insert;
                Query.Edit;
              end;
        end;
    end;