使用了内存表读取些字段,然后将某个字段赋值给DBedit,且该DBedit设置为只读。画面出来后值可以显示,但是鼠标点击该edit后值就消失了,enabled设置为 false不让鼠标点的话 字体的颜色又不对。求解决。

解决方案 »

  1.   

    修改一下readondy這個屬性試試
      

  2.   

    procedure TFMBillingList.ModShow;
    var
      sqlstr : string;
      cc : TADOQuery;
    begin
      faon := dmGlobalData.connect;  sqlstr := 'select * from  ms_gl_consign a'
               +' inner join ms_gl_WTDW b on a.ConsignUnit = b.DWMC and Isjf = 1'
               +' inner join ms_billing e on b.id = e.unitid and e.GUID = '+ QuotedStr(sqlGUID)
               +' left outer join ms_billingconsign d on a.id = d.consignid';
      cc := TADOQuery.Create(nil);  faon.openQuery(sqlstr,cc);
      dxMemData1.LoadFromDataSet(cc);
      dxMemData1.First;  DBEdit1.Text := dxMemdata1.fieldByname('ConsignUnit').AsString;
      DBEdit2.Text := dxMemdata1.fieldByname('ConsignNo').AsString;
      
      FreeAndNil(cc);
    end;
      

  3.   

    DBEdit1是要帮定数据集的,要不就改为用TEdit
      

  4.   


    DBedit1不可以绑定dxmemdata的吗?
    这样的话就只能用正常的了。
      

  5.   

      DBEdit1.Text := dxMemdata1.fieldByname('ConsignUnit').AsString;
      DBEdit2.Text := dxMemdata1.fieldByname('ConsignNo').AsString;不是赋值,是绑定 MemData 的这两个字段。