none
GridView Dinamik Kolon ve Gruplama RRS feed

  • Genel Tartışma

  •  Merhaba Arkadaşlar,

    Soruyu hazırlarken benzer sorular bölümüne baktım ama istediğim soru yok.

    Gridview ile günlere ait boş saatleri oluşturmak istiyorum.

    String tipinden bir array list oluşturuyorum.Array de yyyy-mm-dd HH:mm:ss formatında tarih verileri var.

    Bu array e göre bir dinamik column ve gruplama yapmaya çalışıyorum.

    Aşağıdaki kod blogu ile gridview e databinde ettiğimde aşağıdaki resim elde ediyorum.

    Ancak yapmak istediğim günlere bağlı saatleri listelemek.

    Örnek ColumHeader :[10-12-2013], Rows:[10:45,11:40,17:50]

    Yardımlarınızı bekliyorum.

    public class Time
        {
            private string _date;
    
            public string Date
            {
                get { return _date; }
                set { _date = value; }
            }
    
            private string _time;
    
            public string TimeZone
            {
                get { return _time; }
                set { _time = value; }
            }
    
    
        }
    
        public void GridBind()
        {
            string[] array = new string[]{"2013-12-10 17:50:00","2013-12-15 16:50:00","2013-12-10 11:40:00","2013-12-15 17:50:00","2013-12-15 10:45:00",
                                        "2013-12-10 10:45:00","2013-12-17 13:45:00","2013-12-15 09:45:00","2013-12-15 18:45:00","2013-12-15 13:45:00",
                                        "2013-12-15 10:55:00","2013-12-15 15:30:00","2013-12-15 14:30:00","2013-12-15 15:30:00","2013-12-17 15:30:00",
                                          "2013-12-17 15:20:00","2013-12-17 13:10:00","2013-12-17 16:50:00","2013-12-17 12:20:00","2013-12-17 09:20:00",
                                            "2013-12-17 10:20:00","2013-12-17 15:20:00","2013-12-15 16:20:00"};
    
            List<Time> list = new List<Time>();
    
            for (int i = 0; i < array.Length; i++)
            {
                Time t = new Time();
                DateTime ss = DateTime.Parse(array[i]);
                t.Date = ss.ToString("dd-MM-yyyy");
                t.TimeZone = ss.ToString("HH:mm");
                list.Add(t);
            }
    
            gw.DataSource = list;
            gw.DataBind();
        }


    Öğrenmek,öğrenmek...

    29 Aralık 2013 Pazar 22:35

Tüm Yanıtlar

  • Pivot kullanmalısın, http://technet.microsoft.com/tr-tr/library/ms177410(v=sql.105).aspx

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

    30 Aralık 2013 Pazartesi 07:58
    Moderatör
  •  Selam Önay,

    Maalesef web servisten gelen bilgi böyle,sürekli db kayıt yapamam sürekli güncellenen bir bilgi.

    Servis anlık parametrelere göre boş zamanları string tipinde array olarak gönderiyor.



    Öğrenmek,öğrenmek...

    30 Aralık 2013 Pazartesi 08:04
  • Ok. Ozaman pivot işi yapan Linq kullanabilirsiniz. Ancak! pivot'ta kolonlar dinamik oluşuyor ama ilk kolon seri den oluşması gerekiyor. Bunu ayarlayabilirseniz; http://stackoverflow.com/questions/5675336/linq-pivot-with-dynamic-columns gibi kullanımları mevcut.

    ilk kolon saatlerden oluşmalı, tarih kolonlarında var/yok gibi bir bilgi olmalı; yani şu şekilde bir sonucu gridde gösterebilirsiniz;



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

    30 Aralık 2013 Pazartesi 09:55
    Moderatör
  • Cevabınız için teşekkürler.

    Maalesef .Net 2.0 kullanıyoruz Linq kullanamam.

    Gelen dizide bir slot(periyodik) ardışık olarak gelmiyor veriler.


    Öğrenmek,öğrenmek...

    30 Aralık 2013 Pazartesi 10:28
  • Merhaba arkadaşlar biraz senaryoyu değiştirdim.

    Aşağıdaki array collectionu calendardan gelen tarihe göre filtrelemek daha uygun.

    Bunu nasıl yapabilirim.

    string[] array = new string[]{"2013-12-10 17:50:00","2013-12-15 16:50:00","2013-12-10 11:40:00","2013-12-15 17:50:00","2013-12-15 10:45:00",
                                        "2013-12-10 10:45:00","2013-12-17 13:45:00","2013-12-15 09:45:00","2013-12-15 18:45:00","2013-12-15 13:45:00",
                                        "2013-12-15 10:55:00","2013-12-15 15:30:00","2013-12-15 14:30:00","2013-12-15 15:30:00","2013-12-17 15:30:00",
                                          "2013-12-17 15:20:00","2013-12-17 13:10:00","2013-12-17 16:50:00","2013-12-17 12:20:00","2013-12-17 09:20:00",
                                            "2013-12-17 10:20:00","2013-12-17 15:20:00","2013-12-15 16:20:00"};
    


    Öğrenmek,öğrenmek...

    6 Ocak 2014 Pazartesi 12:09