如何控制dxDBInspector或cxDBVerticalGrid的每一行的属性,
本人想实现动态连接ClientDataSet,从而一个dxDBInspector或cxDBVerticalGrid就可以实现所有的表的录入,
dxDBInspector或cxDBVerticalGrid的每一行的Change type 都可以动态的单独设定,从而实现每行是MEMO的图片的还是可选择的还是日期的录入格式。
说明:dxDBInspector或cxDBVerticalGrid那个控件都可以。

解决方案 »

  1.   

    DEV的东西大家不常用吗?
    用起来让人放心呼?
      

  2.   

    procedure TFrm_luru.Read_fllawmd;
    var
      I: Integer;
      AItem: TcxDBEditorRow;
    begin
      ShowHourglassCursor;
      try
        cxDBVerticalGrid.BeginUpdate;
        try
          with cxDBVerticalGrid.DataController.DataSet do
            for I := 0 to FieldCount - 1 do
            begin
                  AItem := TcxDBEditorRow(cxDBVerticalGrid.Add(TcxDBEditorRow));
                  with AItem.Properties do
                  begin
                        DataBinding.FieldName := Fields[I].FieldName;
                        Caption := DataBinding.DefaultCaption;
                               if Fields[I].DataType=FtMemo then
                                     begin                                  EditPropertiesClassName:='TcxBlobEditProperties';
                                     end;
                                  if Fields[I].DataType=ftDataSet then
                                  begin
                                       cds:=Tclientdataset.Create(application);
                                       cds.DataSetField:=TDataSetField(Fields[I]);
                                       cds.Active:=true;
                                       cds.Edit;
                                       EditPropertiesClassName:='TcxButtonEditProperties';
                                       TcxButtonEditProperties(EditProperties).OnButtonClick:=ButtonClickDemo;
                                  end;   
                  end;
                   AItem.Visible := Fields[I].Visible;        end;
        finally
          vv.EndUpdate;
        end;
      finally
        HideHourglassCursor;
      end;
    end;