dbgrid uzerinde a dan z veya z den a ya sort ederken şu şekilde bir hata alıyorum
current provider does not support the necessary interfaces for sorting or filtering
yazdığım kod ise şu şekilde
procedure TDisilerForm.DBGrid1TitleClick(Column: TColumn);
{$J+}
const PreviousColumnIndex : integer = 1;
{$J-}
begin
if (dbgrid1.DataSource.DataSet is TCustomADODataSet) and ( not
column.Field.IsBlob) then
with TCustomADODataSet(dbgrid1.DataSource.DataSet) do
begin
try
dbgrid1.Columns[PreviousColumnIndex].title.Font.Style :=
dbgrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
except
end;
Column.title.Font.Style :=
Column.title.Font.Style + [fsBold];
PreviousColumnIndex := Column.Index;
if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0)
then
Sort := Column.Field.FieldName + ' DESC'
else
Sort := Column.Field.FieldName + ' ASC';
end;
end;
bunu nasıl cozebiliriz acaba?
dbgridde sort hatası
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
clUseClient ı değiştirin
ADOOlaylarTable ın CursorLocation özelliğini clUseClient olarak değiştirince problem çözülüyor birde sort olatında soru da ki
const PreviousColumnIndex : integer = 1;
kısmında -1 olarak veriliyordu o şekilde çalışmıyor ve bunu muhakkak 1 olarak yazmalıyız.
bu arada MS SQL Server 2000 ve OLEDB provider kullanılıyor.
const PreviousColumnIndex : integer = 1;
kısmında -1 olarak veriliyordu o şekilde çalışmıyor ve bunu muhakkak 1 olarak yazmalıyız.
bu arada MS SQL Server 2000 ve OLEDB provider kullanılıyor.
Benimde bu sorunun aynısı var. şimdi onla uğraşıyorum. cluseserver seçince sort etmiyor. bunu nasıl yaparız bi yol gösteren olursa çok makbule geçecek 4 gündür uğraşıyorum ama bi sonuç alamadım. aradım ama bulamadım.
--------------------------------------------------------------------------------------------------
Sadece iylik için yaşa ve iylik ile hayat et...
-------------------------------------------------------------------------------------------------
Sadece iylik için yaşa ve iylik ile hayat et...
-------------------------------------------------------------------------------------------------
Ben bu sorunu Şu şekilde çözdüm. DBgrid ontitleclick aşağıdaki kodu kendi yapınız ve sorgunuza göre düzeltin. basitce column tıklanınca fieldname ile alanın adını alıyuorum sonrasında SQL sorgu cümlesinin sonuna "order by" ın yanına değişken ile atıyorum. hepsi bu kadar.
Kod: Tümünü seç
xcorder:=Column.FieldName;
edit3.Text:='select * from fatsatic where (fattipall = ''1'') and ( Fattarihi >= '''+edit1.Text+ ''' AND Fattarihi <= '''+edit2.Text+ ''') order by '+xcorder ;
dmf.fatalsattx.Close;
dmf.fatalsattx.sql.Clear;
dmf.fatalsattx.sql.Add(edit3.Text) ;
dmf.fatalsattx.Open;
--------------------------------------------------------------------------------------------------
Sadece iylik için yaşa ve iylik ile hayat et...
-------------------------------------------------------------------------------------------------
Sadece iylik için yaşa ve iylik ile hayat et...
-------------------------------------------------------------------------------------------------