cxGrid缺少文档,虽然功能强大,但摸索起来也很花时间,下面将碰到过的问题与技巧一一拷贝如下,以备查阅:
1.获取选中的某一行的序号:
cxgTV.DataController.GetSelectedCount;
//1.cxgTV 是cxGrid的DBTableView
//2.GetSelectedCount 是选中的行总数(cxGrid的行可多选)
var
i: j: integer;
begin
with cxgTV.DataControlle do
begin
for i:=0 to GetSelectedCount-1 do
begin
J := GetSelectedRowIndex(I);
... ...
//通过GetSelectedRowIndex获取选中的当前行是属于数据集的哪一行.返回的J,便是行号.
2.若使用了表格的列过滤功能进行过滤后,需要统计出过滤后数据集的总行数,如何做?
//在cxgTV的DataController的OnChanged事件中可统计出来,如下:
procedure TForm1.cxgTVDataControllerFilterChanged(
Sender: TObject);
begin
inherited;
ShowMessage('共' + IntToStr(cxgTV.FilterRow.GridView.DataController.DataRowCount) + '条记录');
end;