Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > grid sorting int kolonunun string gibi sıralanması
Yazar
sevecen


avatar
adana istanbul
Kayıt: 08.02.2006
20.06.2008-11:21 #47008
Merhaba arkadaşlar,

Gridde int tipinde kolonun sıralaması arama butonuna tıklayınca string gibi sıralıyor. Bir daha da düzelmiyor.

Verileri IsPostBackte stored procedureden parametre göndermeden alıyorum. O Kolonun datatype'ı int32. Arama butonuna tıklayınca parametre göndererek verileri alıyorum. Kolonun datatype ı string oluyor.

Umarım sorunu anlatabilmişimdir.

Yardımlarınızı bekliyorum.






bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
20.06.2008-12:06 #47009
sütunun datatype gibi bir ozelliği yok mu?





N/A
Yazar
sevecen


avatar
adana istanbul
Kayıt: 08.02.2006
20.06.2008-12:57 #47011
Datatype özelliği var ama değiştirilemiyor. Daha önce de dediğim gibi IsPostbackte parametresiz doldurduğumda int32, arama butonuna tıkladığımda parametreye bağlı olarak sorgudan veri geldiğinde string. Bu arada sorgu aynı sorgu ve int alanını convert ya da cast falan yapmıyorum. Aslında bu daha çok sql ile ilgili sanırım.

Acilen yardımlarınızı bekliyorum. Bugün bu sorunu çözmem gerekiyor. ;)





bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)





Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
20.06.2008-14:47 #47022
GridView1.Sort("SutunAdi", SortDirection.Ascending);
GridView1.DataBind();

Bu işlemleri hem normal bağladığın yerde hem de IsPostBack içinde dene, nasıl bir sonuç çıkacak bir gözlemle.

Eğer yine sayıları string gibi sıralıyorsa tablodaki veri tipinin int olmayacağı akla gelir. Stored prosedure'da sıralama yapacağın sayı sütununu Convert(int.. yapsan. Bir de öyle denesen. Aklıma bunlar geldi şimdilik.





Yazar
sevecen


avatar
adana istanbul
Kayıt: 08.02.2006
20.06.2008-16:38 #47032
gridin grid_Sorting isimli sorting fonksiyonu var. "grid.Sort(..." dediğimde sürekli o fonksiyona giriyor. Kısır döngü anlayacağın. Ben sıralamayı datatableda yapıyordum.

dt.DefaultView.Sort = e.SortExpression + " " + (string)Session["SortingDirection"];





bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)





Yazar
sevecen


avatar
adana istanbul
Kayıt: 08.02.2006
20.06.2008-17:09 #47035
gridview1.sort ve sql de cast işlemi de bir işe yaramadı.





bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)





Yazar
sevecen


avatar
adana istanbul
Kayıt: 08.02.2006
20.06.2008-17:57 #47037
Sorunu çözdüm arkadaşlar. Hepinize teşekkür ederim. Kulandığım fonksiyonları inceledim. IsPostback'te kullandığım fonksiyon ile arama sonuçlarında kullandığım fonksiyon yapıca farklı.

Readerdan verileri DataTable a atarken DataTypelar uçuyor. ;)

Adapter kullanınca sorun kalmadı.





bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)





Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
20.06.2008-17:57 #47038
dt.Columns[0].DataType = System.Type.GetType("System.Int32");

0 yerine problemli sütun numarası gelecek.
SQL'de casting yap yine int şeklinde. Üstüne birde böyle birşey dene. Aslında böyle bir durumla karşılaşmadım daha önce ve dolayısıyla verdiğin kodlarla ancak bu kadar farazi olarak bişeyler söyleyebiliyorum. Normal çalışma şeklinde veri tipine uygun sıralama yapması lazım. Bir yerlerde bunu bozacak birşeyler olmalı.





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb