0
Asp.nete çok hakim değilim. Bir porsedurle sayfalamayı çekiyorum yalnız sayfalamadaki filtreleme sadece o sayfada işlem yapıyor örn: 30 sayfa var her sayfada 10 ürün 300 toplam ürün var azdan çoka fiyata göre listele dendiğinde kaçıncı sayfadaysan sadece o sayfadakileri sıralıyor bu 30 sayfada 300 üründe yapmasını ve yeniden sayfalamasını istiyorum.
Sql prosedur kodum.
ALTER PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1,
@PageSize INT = 15,
@orderColumn int,
@orderdir nvarchar(10),
@RecordCount INT OUTPUT
AS
BEGIN
SELECT ROW_NUMBER() OVER
(
ORDER BY [UrunID] ASC
)AS RowNumber,
Urunler.UrunFiyati,Urunler.StokKodu, dbo.Urunler.UrunAdi, dbo.Urunler.Nekadardandustu,
dbo.Urunler.Hit,dbo.Urunler.UrunDetay, dbo.Urunler.UrunId, dbo.Urunler.EnCokSatanlar, dbo.Urunler.Indirimdekiler,
dbo.Urunler.Resmi2, dbo.Urunler.Resmi, dbo.Urunler.Onay,
dbo.Urunler.Vitrin, dbo.UrunKategoriler.UrunKategoriAdi
INTO #Results FROM dbo.Urunler INNER JOIN dbo.UrunKategoriler ON dbo.Urunler.UrunKategoriId = dbo.UrunKategoriler.UrunKategoriId order by
CASE WHEN @orderColumn = 1 AND @orderdir = 'desc' THEN Urunler.UrunAdi END DESC,
CASE WHEN @orderColumn = 1 AND @orderdir = 'asc' THEN Urunler.UrunAdi END asc,
CASE WHEN @orderColumn = 2 AND @orderdir = 'desc' THEN cast(Urunler.UrunFiyati as int) END DESC,
CASE WHEN @orderColumn = 2 AND @orderdir = 'asc' THEN cast(Urunler.UrunFiyati as int) END asc
SET NOCOUNT ON;
SELECT @RecordCount = COUNT(*)
FROM #Results
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END
yeterli gelmez ise diğer aspx ve aspx.cs kodlarımıda paylaşabilirim
0
Bu kod kalabalığın yerine şu mantıkla da yapabilirsin. Veritabanında ücretler diye kolonun olsun buradaki tüm ücretleri bir değişkene aktarıp sayısal olarak karşılaştırarak büyükten küçüğe doğru sıralayabilirsin.
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol