Delphi PicklList 显示问题,详细见图。 5C

图片说明
Procedure TfrmsAA.dbgrdCellClick(Column: TColumnEh);
Begin
Inherited;
If (UPPERCASE(Column.FieldName) = 'ColNM') And (qry.FieldByName('ColPcode').AsString <> '') Then
Begin
TRY
IF Not (qry.State In [dsEdit, dsInsert]) Then
BEGIN
qry.Edit;
qry.Post;
END;
qry.DisableControls;
Column.PickList.clear;
Column.KeyList.clear;

  With Sys.QryTemp Do
  Begin
    close;
    sql.Clear;
    sql.add('SELECT Pcode FROM Table1 WHERE code=' + qry.fieldbyname('colpcode').asstring);
    open;
    While Not eof Do
    Begin
      dbgrd.FieldColumns['colnm'].PickList.Add(fieldByName('pcode').AsString);
      dbgrd.FieldColumns['colnm'].KeyList.Add(fieldByName('pcode').AsString);
      Next;
    End;
  End;
Finally
  qry.EnableControls;
End;

End;
End;

已确认是每次点击的时候,清除picklist导致,但是这种情况如何处理?是否有其他代替的方法?

1个回答

调用refreash之类的方法刷新下dbgrid

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问