另外20分在:
http://expert.csdn.net/Expert/topic/1659/1659313.xml?temp=.4837152等谁帮我解决了问题谁再去接分吧:)我在做一个收费系统的过程中遇到了如下问题:在一个窗口上:ADOTable1,DBGrid1,DataSource1,DBNavigator1四个数据库控件与表table1相连。其中DBGrid1中有一列字段为"经办人"(jinbanren)。经办人的增加采用下拉列表框的方式实现,其数据从表table_jinbanren中提取。我写了如下的代码实现了这个功能:procedure TfrmSaleKaFeiLuRu.FormCreate(Sender: TObject);
var
i:Integer;
begin
        ADOTable1.Refresh;        for i:=0 to ADOTable1.RecordCount-1 do
        begin
         DBGrid2.Columns.Items[11].PickList.add(ADOTable1.Fields[1].Value);
         ADOTable1.Next;
        end;
end;现在我又想增加如下的功能:就是当用户通过DBNavigator1来增加一条记录时,"经办人"(jinbanren)这一字段的值默认为其下拉列表的第一项的值。。就是说不需要用户再用鼠标再下拉一下了。应该怎么实现呢?

解决方案 »

  1.   

    在afterinsert中给这个字段赋值就行了
    想给什么值就随你的便了,然后表格自动就选到这个值上了
      

  2.   

    对不起。。我忘记说了。。我也知道是在afterinsert后赋值。可我不知道是怎么赋值的啊。。因为赋的值是要下拉列表框的第一项的值,即是表jinbanren中的第一条记录。应该怎么写代码?
      

  3.   

    在dbgrid 的onclick事件中判断当按的是insert 钮,将当前列的经办人值置为DBGrid2.Columns.Items[11].PickList的第一个值
      

  4.   

    关键是怎么置为第一个的值。。我已经知道在哪儿置了。就是不知道怎么置:( 因为PickList的值不是固定的.