各位大虾,我最近用datacontrol面板的导航条来做一个数据管理的程序,但是我发现在导航条的上下浏览状态下,数据仍然是可编辑的,我想在数据的浏览状态下,使dbedit中的数据是readonly的,但是我不知道该定义导航条的哪一个事件,并且不知道怎么判断是导航条中的哪一个按钮按下了

解决方案 »

  1.   

    OnClick 事件
    procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    begin
    case Button of
    nbFirst:;
    nbPrior:;
    nbNext:;
    nbLast:;
    nbInsert:;
    nbDelete:;
    nbEdit:;
    nbPost:;
    nbCancel:;
    nbRefresh:;
    else ;
    end;
    end;
      

  2.   

    procedure TForm1.DataSource1StateChange(Sender: TObject);
    begin
      case DataSource1.State of
        dsEdit: ; //编辑
        dsInsert: ; //插入
        dsBrowse: ; //浏览
        //....
      end;
      

  3.   

    很容易:设置dbedit的属性
               dbedit1.readonly:=true    就可以了你如果想实时通过按“修改"键来修改dbedit的内容可
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    dbedit1.readonly:=false;
    end;
      

  4.   

    好像可以设置autoedit来控制吧
      

  5.   

    设置dbedit或者 字段为只读不就得了?