グリッドを日付でグループ化しました(列名を取得して、「その列でグループ化」と表示されている場所にドラッグしました)。ただし、グリッドが表示されると、すべての日付が「閉じられている」ため、データを表示するにはそれらを展開する必要があります。それは大丈夫ですが、現在の日付をすでに展開することは可能かどうか疑問に思います(他のすべては閉じたままにする必要があります!)ので、展開クロスをクリックする必要はありませんか?
質問する
1630 次
2 に答える
0
procedure TForm1.Button1Click(Sender: TObject);
var
intLoop,
vValue: Variant;
begin
for intLoop := 0 to self.cxGrid1DBTableView1.DataController.RowCount - 1 do
begin
if self.cxGrid1DBTableView1.ViewData.Rows[IntLoop] is TcxGridGroupRow then
begin
if TcxGridGroupRow(cxGrid1DBTableView1.ViewData.Rows[IntLoop]).Level = cxGrid1DBTableView1MyDate.GroupIndex then
begin
vValue:=TcxGridGroupRow(cxGrid1DBTableView1.ViewData.Rows[IntLoop]).Value ;
if vValue = Date() then
begin
TcxGridGroupRow(cxGrid1DBTableView1.ViewData.Rows[intLoop]).Expand(False);
end;
end;
end;
end;
end;
于 2013-03-09T07:22:35.077 に答える
0
これを試してみてください。たとえば、TButtonなどの他のイベントハンドラーにコードを配置できます。
procedure TForm1.FormCreate(Sender: TObject);
begin
//aDBTableView1.ViewData.Expand(true); // this is how to expand all records
aDBTableView1.ViewData.Records[YourRecordNumber].Expand(true); // this is how to expand by a given record
end;
OK、次を試してください
procedure TForm1.FormCreate(Sender: TObject);
begin
with cxGrid1DBTableView1 do
begin
DataController.DataSource.DataSet.Locate('YourDateFieldName',DateTimeToStr(Date),
[loPartialKey]);
ViewData.Records[DataController.FocusedRowIndex].Expand(True);
end;
end;
于 2013-03-08T23:37:18.657 に答える