[ cacafaca @ 03.02.2006. 14:52 ] @
Ne da sam car, nego...! :))) Ako je neko pokusavao da sortira DBGrid i uspelo mu je u prvom dodavanju indexa (prvo pozivanje AddIndex) a u drugom mu je prijavljivalo gresku "Must use baseorder for this operation" samo je trebao da posluĊĦa poruku koju mu je DElphi javio i postavi index na primarni tj IndexName:=''. Ccc! Dva dana se ubijam trazeci po netu. I naisao sam da su i drugi imali ovakve probleme ali nisam nasao odgovor. Ili zato sto je ovako prost ili ga stvarno ljudi nisu resili :) Evo koda Code: procedure SortirajDBGrid(Kolona: TColumn); var tabela:ttable; grid:tdbgrid; begin grid:=tdbgrid(Kolona.Grid); if assigned(grid.DataSource.DataSet) then begin tabela:=ttable(grid.DataSource.DataSet); if (tabela.State <> dsinactive) and (tabela.FieldDefs.IndexOf(kolona.FieldName)>-1) then begin tabela.DisableControls; try tabela.IndexName:=tabela.IndexDefs.find(kolona.FieldName).Name; except on edatabaseerror do begin tabela.IndexName:=''; tabela.AddIndex(kolona.fieldname, Kolona.FieldName, [ixCaseinsensitive]); tabela.IndexName:=kolona.FieldName; end; end; tabela.enablecontrols; end; end; end; |