none
asp.net c# gridview başlangıç değeri RRS feed

  • Soru

  • Tablom şöyle;

    Müşteri LİSTESİ

    -------------------

       xxxxxxxxxxxxxx

       xxxxxxxxxxxx

       xxxxxxxxxxxxxx

    ben şöyle yapamıyorum bir türlü

       ID        Müşteri LİSTESİ

      ----         -------------------

         1          xxxxxxxxxxxxxx

          2         xxxxxxxxxxxx

           3       xxxxxxxxxxxxxx

    veritabanındaki idsini almıyorum kendim gelen veriyi sıralamaya çalışıyorum.yardım''''

    3 Temmuz 2013 Çarşamba 13:16

Tüm Yanıtlar

  • bilgileri uzak veritabanından alıyorum.localden değil.
    3 Temmuz 2013 Çarşamba 13:18
  • Tablonda Id alanı yok mu?!?!!? Sıralama derken neye göre sıralama a-z sıralama mı? yoksa sadece yanlarına sıra no mu yazmak istiyorsunuz? öylese;

    Linq ile yapabilirsin;

    int c = 0;
    gridView1.DataSource = çektiğinVeriler.Select(p=> new { @SıraNo = ++c, @Ad = p["MüşteriAdı"].ToString() }).ToList();


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    3 Temmuz 2013 Çarşamba 13:37
    Moderatör
  • çektiğinVeriler == buraya tam olarak ne yazmam lazım linq bilmiyorum.

       SqlDataAdapter da = new SqlDataAdapter("SELECT ")

    burdaki "da" mı gelicek.???

    3 Temmuz 2013 Çarşamba 13:49
  • yok, o "da" ile bir DataTable doldurdunuz mu? Doldurduysanız o dataTable gelebilir, ancak önce Cast etmek gerekecek, şöyle;

    SqlDataAdapter  da = new SqlDataAdapter("SELECT... ");
    DataTable dt = new DataTable();
    da.Fill(dt);
    gridView1.DataSource = dt.Rows.Cast<DataRow>().Select(......);

    şeklinde.

    Not: Müşteri adı alanına databasedeki alan adını yazmalısınız.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    3 Temmuz 2013 Çarşamba 15:00
    Moderatör
  • public void data() 
            {
                  
            
                SqlDataAdapter da;
                DataTable dt;
               
                da = new SqlDataAdapter("SELECT CustomerName FROM Customers  where status=3 ", baglan.con);
                dt = new DataTable();
                da.Fill(dt);
                DataRow dr = dt.NewRow();
                dt.Columns[0].ColumnName = "MÜŞTERİ LİSTESİ";
                GridView1.DataSource = dt;
    
                
    
                int c = 0;
    
                GridView1.DataSource = dt.Rows.Cast<DataRow>().Select(p => new { @SıraNo = ++c, @Ad = p["CustomerName"].ToString() }).ToList();
    
                GridView1.DataBind();
             
            }
            
    kodum bu ama çalıştırınca söyle bir hata geliyor. {'CustomerName' sütunu,  tablosuna ait değil.} diceksiniz ki alanlarını kontrol et.ettim. linq kodunu kaldırınca normal çalışıyor.yoksa ben mi yanlış yazıyorum.kodları bilemiyorum.

    4 Temmuz 2013 Perşembe 11:29
  • ColumnName'ini değiştirdiğiniz için olabilir. Linq dan vaz geçip, şunu da deneyebilirsiniz, sorgunuzu aşağıdaki gibi düzenleyip;

    SELECT ROW_NUMBER() OVER(ORDER BY CustomerNam) as [Sıra No], CustomerName as [Müşteri Adı] FROM Customers  where status=3

    GridView1.DataSource = dt.Rows;
    

    şeklinde set edebilirsiniz.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    4 Temmuz 2013 Perşembe 13:28
    Moderatör
  • ben söyle ifade edeyim.

     ID        Müşteri LİSTESİ

      ----         -------------------

         1212         xxxxxxxxxxxxxx

         1231         xxxxxxxxxxxx

        13154      xxxxxxxxxxxxxx

    Burdaki  veriler belli bir şarta göre geldiği için.  id sinin 1 başlayıp artarak gitmesi gerekiyor.

    c# windows application yapı+yorum .Ama asp.net sorun veriyor.Söylediğiniz gibi de yaptım olmadı. 

    4 Temmuz 2013 Perşembe 21:05
  • bi göz atın...şuna
    6 Temmuz 2013 Cumartesi 14:16