Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

TDataSet.Locate не работает по сортированному DataSet   Найти похожие ветки 

 
BPK   (2005-02-10 13:19) [0]

Для отображения данных использую связку: TRxDBGrid + TDataSource + TKbmMemTable

В программе используется сортировка по колонкам

procedure TFrmCompCat.ApplySorting;
var s:string;
   i:integer;
begin
 try
   for i:=0 to sgComps.Columns.Count-1 do begin
     s:=sgComps.Columns[i].FieldName;
     mtComps.AddIndex(s,s,[]);
     mtComps.AddIndex(s+"_DESC",s,[ixDescending]);
   end;
   mtComps.Open;
   mtComps.IndexName:=FGridIndex;
 finally
   while mtComps.ControlsDisabled do mtComps.EnableControls;
 end;
 if DataAvailable then mtComps.First;
//    if not mtComps.Locate("ID",FGridComponent,[]) then mtComps.RecNo:=1;
end;

procedure TFrmCompCat.sgCompsTitleBtnClick(Sender: TObject; ACol: Integer;
 Field: TField);
var Rec:TCompNodeRec;
begin
 Rec:=PCompNodeRec(TV.Selected.Data)^;
 if Rec.SortBy<>Field.FieldName then PCompNodeRec(TV.Selected.Data)^.DescSort:=False;
 if PCompNodeRec(TV.Selected.Data)^.DescSort then begin
   mtComps.IndexFieldNames:="";
   mtComps.IndexName:=Field.FieldName+"_DESC";
   PCompNodeRec(TV.Selected.Data)^.SortBy:=Field.FieldName+"_DESC";
 end
 else begin
   mtComps.IndexName:="";
   mtComps.IndexFieldNames:=Field.FieldName;
   PCompNodeRec(TV.Selected.Data)^.SortBy:=Field.FieldName;
 end;
 mtComps.First;
 PCompNodeRec(TV.Selected.Data)^.DescSort:=not PCompNodeRec(TV.Selected.Data)^.DescSort;
end;


В ходе выполнения программы делаю перемещение к записи с нужным IDом:
if not mtComps.Locate("ID",ID,[]) then mtComps.RecNo:=1;

Если используется восходящая сортировка, то locate находит запись, если нисходящая - то не находит. Как исправить?


 
BPK   (2005-02-11 09:37) [1]

.


 
Johnmen ©   (2005-02-11 09:46) [2]

А что такое TKbmMemTable ?
Посмотри, как в нем реализован Locate. Возможно, там ошибки.



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1109338253
serega_man
2005-02-25 16:30
2005.03.13
Как программировать параметры exe файлов


14-1109096969
Breakmaster
2005-02-22 21:29
2005.03.13
Хостинг для форума


4-1106922134
JaDS
2005-01-28 17:22
2005.03.13
деректива message


3-1108034345
Mamed
2005-02-10 14:19
2005.03.13
RTF Fayli


14-1108887275
YurikGL
2005-02-20 11:14
2005.03.13
SY576