我用combobox来控制流程,在选择1时rzdbedit1能写入,选择2时rzdbedit2能写入,选择后都用clear清掉了另外一个edit框。
问题来了:当我选择1,写入后,选择2,这时把edit1的东西清掉了,这时我再回选1,点击下edit框,原来的数据又跑出来了
这是怎么回事啊?哪位高手知道么?

解决方案 »

  1.   

    // combobox 的 onchange 事件
    if trim(combobox.text):='1' then
      begin
        rzdbedit1.readonly=false;
        rzdbedit2.readonly=true;
        rzdbedit2.clear;
      end else
      if trim(combobox.text):='2' then
      begin
        rzdbedit2.readonly=false;
        rzdbedit1.readonly=true;
        rzdbedit1.clear;
      end
    // 我的D上面就不会出现你说的情况啊...
      
      

  2.   


    //onchange
    txt:=trim(RzDBComboBox1.Text);
    if txt = '1'then
    begin
            RzDBEdit46.Clear;
            RzDBEdit43.Enabled:= True;
            RzDBEdit75.Enabled:= True;
    RzDBEdit76.Enabled:= True;
    RzDBEdit46.Enabled:= False;end
    else if txt = '3'then
    begin
    RzDBEdit43.Clear;
    RzDBEdit75.Clear;
    RzDBEdit76.Clear;
            RzDBEdit43.Enabled:= False;
    RzDBEdit75.Enabled:= False;
    RzDBEdit76.Enabled:= False;
    RzDBEdit46.Enabled:= True;
    end;我没用readonly,直接用enabled,怎么就不行了呢?
      

  3.   

    那clear到底是什么功能呢?不是清除了么,怎么还会出来呢?
      

  4.   

    那就用Edit1.Text:='' 来控制啊。
    Clear可能只是清了Buffer。
    这个控件不熟。
      

  5.   

    换了用   RzDBEdit43.Text = ''   依旧没有用……
      

  6.   

    都用Edit.Text:=''清空Edit框,准没错