新加一个字段,不要与query/table相连,写入就可以了

解决方案 »

  1.   

    请问。使用Columns的Items属性吗?如果没有和query/table相连的字段是第3个,那么是用Columns.Items[2]来控制吗?我试过了,好象不行。
      

  2.   

    实现下拉框功能基本思路: ---- 利用一个浮动式菜单PopupMenu,浮动式菜单的各菜单条是用于选择的相应条目。以此来实现下拉列表的功能。为了实现浮动式菜单与相应字段的结合,还需要做以下的工作: ---- (1)在DBGrid控件属性中有PoppupMenu一栏,添入浮动式菜单名,此时,程序运行时,按鼠标右键即可打开PoppupMenu进行选择。 ---- (2)为使键盘控制PoppupMenu的开合还需将装载DBGrid的窗体的Keypreview属性设为true,在DBGrid的KeyDown事件中写入一事件,来控制PoppupMenu的开合的位置与显示条件。 ---- 下面以一个学生信息库中的学生的系别为例(字符串类型)为例,给出一个具体的例子: unitUnit1;
    interface
    uses
    Windows,Messages,SysUtils,Classes,
    Graphics,Controls,Forms,Dialogs,
    Db,Menus,DBTables,Grids,DBGrids;
    type
    TForm1=class(TForm)
    DBGrid1:TDBGrid;
    DataSource1:TDataSource;
    Table1:TTable;
    PopupMenu1:TPopupMenu;
    N1:TMenuItem;
    N2:TMenuItem;
    N3:TMenuItem;
    Table1XH:TStringField;
    Table1XM:TStringField;
    Table1XB:TStringField;
    N4:TMenuItem;
    procedureDBGrid1KeyDown
    (Sender:TObject;varKey:Word;
    Shift:TShiftState);
    procedureN1Click(Sender:TObject);
    procedureN2Click(Sender:TObject);
    procedureN3Click(Sender:TObject);
    procedureN4Click(Sender:TObject);
    private
    {Privatedeclarations}
    public
    {Publicdeclarations}
    end;
    var
    Form1:TForm1;
    implementation
    {$R*.DFM}
    procedureTForm1.DBGrid1KeyDown
    (Sender:TObject;varKey:Word;
    Shift:TShiftState);
    var
    LastEditCol:integer;
    begin
    LastEditCol:=DbGrid1.SelectedIndex;
    ifLastEditCol< >2thenexit;//让浮动式菜单只对第二列起作用
    if(Key=VK_RETURN)//VK_***是您的热键的虚键值
    then
    PopupMenu1.Popup(336,222);//336,222浮动式菜单显示的位置
    end;procedureTForm1.N1Click(Sender:TObject);
    begin
    table1.Edit;
    table1.FieldValues['XB']:='物理系';
    table1.post;end;procedureTForm1.N2Click(Sender:TObject);
    begin
    table1.Edit;
    table1.FieldValues['XB']:='数学系';
    table1.post;
    end;procedureTForm1.N3Click(Sender:TObject);
    begin
    table1.Edit;
    table1.FieldValues['XB']:='计算机系';
    table1.post;
    end;procedureTForm1.N4Click(Sender:TObject);
    begin
    table1.Edit;
    table1.FieldValues['XB']:='中文系';
    table1.post;
    end;
    end.
      

  3.   

    在设计期,点Columns后的那个...,出来个编辑器,选到需要下拉的Column,在OBJECT INSPETOR里有个PICKLIST,是个TSRINGS型的东东,在那设置你的下拉选项,还有个叫DROPDOWNROWS,干什么的就不用说了吧。
    这些东西也可以在运行期动态生成,无非是用TSRINGS的那些方法了。
      

  4.   

    可以用Columns.Items[2].Picklist来访问啊
      

  5.   

    1. ihihonline(小小-&gt;充电中……) (  ) 的方法;
    2.Columns.Items[n].Picklist;
    3.使用DBGridEh等控件。