【问题标题】:cxGrid have the latest date selectedcxGrid 选择了最新日期
【发布时间】:2013-04-04 09:54:00
【问题描述】:

我的查询返回客人入住酒店的所有日期(开始日期和结束日期)。
当查询打开时,如何让 cxGrid 选择网格中的最新日期(已选择)?

通过过滤器还是在代码中?
在输入的所有日期中,我需要最新的一个。

我对在 cxGrid 中将日期字段 (end_date) 的排序顺序选择为 DESC 感到不安,因为有时它的行为不可预测。
底层数据库是绝对数据库。

这是我用来获取数据的:

procedure TForm1.ABSTable1AfterScroll(DataSet: TDataSet);
begin
 with ABSQuery1 do
 begin
  Close;
  sql.Clear;
   if ABSTable1.FieldByName('GUEST_ID').AsString <> '' then
   begin
    SQL.Text:= 'select * from GUEST_DATA where GUEST_ID = ' +
               ABSTable1.FieldByName('GUEST_ID').AsString ;
    Open;
   end;
 end;
end;

【问题讨论】:

  • “我对在 cxGrid 中将日期字段 (end_date) 的排序顺序选择为 DESC 感到不安,因为有时它的行为不可预测”。它的行为如何不可预测?我已经大量使用 DevExpress 网格超过 10 年,并且从未见过它们的排序行为的不可预测性。
  • 有时它只是退出排序......为什么?我不知道......在我短暂的职业生涯中见证了两次......

标签: delphi delphi-xe2 delphi-7 delphi-2010 delphi-xe


【解决方案1】:

可以使用视图的排序和聚焦

procedure TForm1.aDatasetAfterOpen(DataSet: TDataSet);
begin
  ViewDate.SortIndex := 0;
  ViewDate.SortOrder := soDescending;
  View.Controller.FocusedRecordIndex := View.Controller.TopRecordIndex;
end;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多