1、cxgrid系結sqlite資料庫后,未排序或篩選前取值相應單元格如第4列,第1行可以采用Cxgrid1dbtableview1.datacontroller.values[0,3]得到“王瑞恒”看似取得的是cxgrid表中的資料,其實是資料庫里的資料,因為未排序或篩選前,cxgrid和資料庫都是對應的。

但是排序或篩選后,取值第4列,第1行的值采用Cxgrid1dbtableview1.datacontroller.values[0,3]得到的值仍舊是“王瑞恒”,而并不是“單甜楠”。如果取得排序或篩選后如表格中“單甜楠”這個值,有正確的方法嗎?

2、之前在論壇里有關相關話題,但似乎沒有解決辦法,那個帖子有點久,現在遇到這個問題再請教。
問題是:分組后,cxgrid自動給分組依據的欄位進行了排序,怎么禁止自動排序,相關的設定options的選項sorting為false后不起作用。

sortorder無法選擇sonone,其余兩項升序和降序都可以選擇,也能起作用。
uj5u.com熱心網友回復:
Cxgrid1dbtableview1.ViewData.Rows[0].values[3];uj5u.com熱心網友回復:
這個方法不對,取值的是分組上的值,并不是資料區的值
uj5u.com熱心網友回復:
procedure TForm1.Button1Click(Sender: TObject);
var
iRow,i,k,iRealRow:integer;
begin
//Edit1.Text:='0';
iRow:=StrToInt(Edit1.Text);//要取值的行號
k:=-1;
iRealRow:=-1;
for i:=0 to cxGrid1DBTableView1.ViewData.RowCount-1 do
if not cxGrid1DBTableView1.ViewData.Rows[i].Expandable then
begin
inc(k);
if k>=iRow then
begin
iRealRow:=i;
Break;
end;
end;
if iRealRow<>-1 then
ShowMessage(Cxgrid1dbtableview1.ViewData.Rows[iRealRow].values[3]);
end;
uj5u.com熱心網友回復:
第一個問題能按樓上方法解決
uj5u.com熱心網友回復:
第二個問題怎么解決?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/15943.html
標籤:VCL組件開發及應用
