1

我正在寻找 DevExpress Quantum Grid 的实用指南。

这本手册有 4015 页长,虽然很透彻,但却是一本大篇幅读物,同时包含太多细节。多年来,我一直在抵制这种格格不入的博格,但现在我终于被工作要求同化了。

我在这里没有同事的帮助。他们都面临沟通挑战。事实上,他们似乎大多是在处理这个工具,而不是很好地使用它。例如,一位同事坚持永远不要在绑定或服务器模式下使用它。这似乎违背了我的目的。

“入门”或“傻瓜”种类的任何帮助让我像普通网格一样有效地使用它,我们将不胜感激。我在插入模式绑定中发现了很多奇怪的特质。我无法真正解释它的作用,因为我不太了解它是如何工作的。但是当我要求它插入一行时,它会在一个单元格有数据后尝试插入。一些愚蠢的事情正在发生,但我不知道为什么。它可能有数千种设置,我什至不确定我是否选择了正确的控件来让我获得正确的选项。

4

1 回答 1

3

初学者帮助的最佳地点是 Devex 的网站,例如https://www.devexpress.com/Support/Center

我想你已经注意到了,TcxGrid(现在是 Quantum Grid)的问题在于它过多的属性、嵌套属性等等。他们的演示展示了网格可以做什么,但是通过对象检查器找到使它们工作的设置的方法有点像噩梦。当然,当您开始在 OI 中玩耍时,您所做的某些事情会阻止它工作,并且回溯您的步骤可能非常困难。

所以,我认为一个很好的起点是一个完全在代码中创建网格的项目,这样除了你在代码中明确设置的内容之外,一切都得到默认值。正如您所看到的,实际上您几乎不需要做任何事情来获得一个简单的、数据绑定的、在基本级别上工作的网格。

尝试这个

type
  TForm1 = class(TForm)
    CDS1: TClientDataSet;
    CDS1ID: TAutoIncField;
    CDS1Marked: TBooleanField;
    CDS1Value: TStringField;
    DS1: TDataSource;
    DBNavigator1: TDBNavigator;
    cxGrid1DBTableView1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    procedure FormCreate(Sender: TObject);
  public
    cxGrid : TcxGrid;
    cxLevel : TcxGridLevel;
    cxView : TcxGridDBTableView;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  CDS1.IndexFieldNames := 'ID';
  CDS1.CreateDataSet;

  for i := 1 to 5 do begin
    CDS1.Insert;
    CDS1.FieldByName('Marked').AsBoolean := Odd(i);
    CDs1.FieldByName('Value').AsString := 'Value  ' + IntToStr(i);
    CDS1.Post;
  end;

  CDS1.First;

  cxGrid := TcxGrid.Create(Self);
  cxGrid.Parent := Self;
  cxGrid.Width := 250;

  cxLevel := cxGrid.Levels.Add;
  cxLevel.Name := 'Firstlevel';

  cxView := cxGrid.CreateView(TcxGridDBTableView) as TcxGridDBTableView;
  cxView.Name := 'ATableView';

  cxLevel.GridView := cxView;

  cxView.DataController.DataSource := DS1;

  cxView.DataController.CreateAllItems;

end;
于 2016-02-23T14:43:02.697 回答