C# Gridview Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    merhaba arkadaslar gridview kafasina gore davraniyor sebebini bulamadim breakpoint ile sonuca ulasamadim yardim ederseniz sevinirim saolun simdiden.

    GridView bu:

     

     

    Duzenle dedigimde kategori alanini code tarafindan bagliyorum fakat en alttaki resimdeki gibi tek sayili row larda bos geliyor.

     

     

    row data bound kodu 

            protected void grdProducts_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowState == DataControlRowState.Edit && e.Row.RowType == DataControlRowType.DataRow)
                {
                    DropDownList ds = (DropDownList)e.Row.FindControl("ddlCategory");
                    int ids = Convert.ToInt16(((Label)e.Row.FindControl("LID")).Text);
                    ds.DataTextField = "Name";
                    ds.DataValueField = "ID";
                    ds.DataSource = model.Categories.ToList();
                    ds.DataBind();
                    var idBynames = model.Products.Where(s => s.ID == ids).FirstOrDefault();
                    string names = idBynames.CategoryName;
                    var categorys = model.Categories.Where(s => s.Name == names).FirstOrDefault();
                    ds.SelectedValue = categorys.ID.ToString();
                }
            } 
    

    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    DataControlRowState.Alternate dene :)


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek
    manglerman bunu yazdı

    DataControlRowState.Alternate dene :)

    yok abi yemiyor onu :( nullreferenceexception firlatio


    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    eventin "grdProducts_RowDataBound" görünüyor

    halbuki "grdProducts_RowEditing" gibi bişey olması lazım :)

     

    ddli onda bind et.


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek
    manglerman bunu yazdı

    eventin "grdProducts_RowDataBound" görünüyor

    halbuki "grdProducts_RowEditing" gibi bişey olması lazım :)

     

    ddli onda bind et.

    evet :) denedim grdProducts_RowEditing de e.row a ulasamiyorum , rowlara ulasamadan da controlleri bulamam, dropdownlist'in databound da denemistim onda da exception veriyor , model'i code first ile yazdim datasource elle yazmasam direk baglardim entitydatasource. bug var galiba gridview de.


    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    manglerman bunu yazdı

    DataControlRowState.Alternate dene :)

    Bunun gibi bir durum olması gerek. Tek sayılar ve çift sayılar, normal ve alternate diye değişiyor. Sen normal row'da işlem yaparken alternate'de yapamıyorsun gözüküyor.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek
    TeRRoR bunu yazdı
    manglerman bunu yazdı

    DataControlRowState.Alternate dene :)

    Bunun gibi bir durum olması gerek. Tek sayılar ve çift sayılar, normal ve alternate diye değişiyor. Sen normal row'da işlem yaparken alternate'de yapamıyorsun gözüküyor.

     if (e.Row.RowState == DataControlRowState.Edit && e.Row.RowType == DataControlRowType.DataRow)
                {
    
                    if ( e.Row.RowState == DataControlRowState.Alternate || e.Row.RowState == DataControlRowState.Normal)
                    {
                        DropDownList ds = (DropDownList)e.Row.FindControl("ddlCategory");
                        int ids = Convert.ToInt16(((Label)e.Row.FindControl("LID")).Text);
                        ds.DataTextField = "Name";
                        ds.DataValueField = "ID";
                        ds.DataSource = model.Categories.ToList();
                        ds.DataBind();
                        var idBynames = model.Products.Where(s => s.ID == ids).FirstOrDefault();
                        string names = idBynames.CategoryName;
                        var categorys = model.Categories.Where(s => s.Name == names).FirstOrDefault();
                        ds.SelectedValue = categorys.ID.ToString();
    
                    }
                }

    kodu degistirdim boyle denedim 2. if breakpoint biraktim ama rowstate i alternate yada normal olarak okumadi if den cikti , rowstate i su anda edit de oldugu icin sanirim boyle yapiyor. rowstate ayni anda 2 secenegide saglayabilirmi, rowstate = normal,alternate,edit,selected,insert .yanlis mi yaziyorum anlamadim cift sayili rowlarda calisiyor

    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    edit :)

    cozdum if'i bu sekidel yapinca calisiyor.

     if ((e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit && e.Row.RowType == DataControlRowType.DataRow)

    override tarafından 15/Mar/13 22:44 tarihinde düzenlenmiştir

    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
Toplam Hit: 1064 Toplam Mesaj: 8