none
Dinamik tabloda satır kaybolması RRS feed

  • Soru

  • Dinamik olarak bir tablo mevcut. Bu tabloya aşağıda dolduracakları textbox'ın içeriklerinin yeni bir satır olarak eklenmesini istiyorum. İlk satır güzelce çalışıyor fakat başka bir satır eklemek istediğim zaman ilk satırın üstüne yazıyor yani yeni satır eklemiyor.

    Çok uğraştım ama sormak durumunda kaldım. Çözüm için fikirlerinizi bekliyorum. Kolay gelsin.

    Kodun örnek halini ekledim.

            TableRow row;
            TableCell cell;
            row = new TableRow();
    
            for (int j = 1; j <= 6; j++)
            {
                cell = new TableCell();
                TextBox tx = new TextBox();
                Label lbl = new Label();
                tx.Width = 100;
                if (j == 1)
                    {
                        tx.ID = "txt_ad" + i.ToString() + "_" + j.ToString();
                        cell.InnerHtml = "Ad: " + i.ToString();
                        cell.Controls.Add(tx);
                    }
    .
    .
    .
    .
    .
                row.Cells.Add(cell);
            }
            table_mekanlar.Rows.Add(row);



    28 Ekim 2012 Pazar 09:00

Yanıtlar

  • Hep aynı row'a ekliyorsunuz. 

    row= new TableRow();

    ve

    table_mekanlar.Rows.Add(row);

    satırlarını for scope'u içine alın


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

    28 Ekim 2012 Pazar 10:28
    Moderatör
  • Merhaba Atakan Savaş;

    Önay YALÇINER 'in demek istediği kod bloğunuzda olası bir hata gözükmüyor sadece Bazı kod parçaları yanlış yerde, Düzeltilmiş hali;

                TableRow row;
                TableCell cell;
                for (int j = 1; j <= 6; j++)
                {
                    row = new TableRow(); /*Olması Gereken Yer*/
                    cell = new TableCell();
                    TextBox tx = new TextBox();
                    Label lbl = new Label();
                    tx.Width = 100;
                    if (j == 1)
                    {
                        tx.ID = "txt_ad" + i.ToString() + "_" + j.ToString();
                        cell.InnerHtml = "Ad: " + i.ToString();
                        cell.Controls.Add(tx);
                    }
                    row.Cells.Add(cell); /*Olması Gereken Yer*/
                    table_mekanlar.Rows.Add(row); /*Olması Gereken Yer*/
                }


    Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com

    28 Ekim 2012 Pazar 13:48

Tüm Yanıtlar

  • Hep aynı row'a ekliyorsunuz. 

    row= new TableRow();

    ve

    table_mekanlar.Rows.Add(row);

    satırlarını for scope'u içine alın


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

    28 Ekim 2012 Pazar 10:28
    Moderatör
  • Hep aynı row'a ekliyorsunuz. 

    row= new TableRow();

    ve

    table_mekanlar.Rows.Add(row);

    satırlarını for scope'u içine alın


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

    kaynak olarak bir sayfa belirtebilir misiniz. nasıl kullanıldığını bilmiyorum.
    28 Ekim 2012 Pazar 10:36
  • ne için kaynak anlayamadım? kodlar sizin kodlarınız.

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

    28 Ekim 2012 Pazar 10:48
    Moderatör
  • çözüm olarak önerdiğiniz konuyu bilmiyorum, demek istediğim oydu. yani çözümü nasıl gerçekleştireceğim hakkında bir bilgim yok.
    28 Ekim 2012 Pazar 11:05
  • Merhaba Atakan Savaş;

    Önay YALÇINER 'in demek istediği kod bloğunuzda olası bir hata gözükmüyor sadece Bazı kod parçaları yanlış yerde, Düzeltilmiş hali;

                TableRow row;
                TableCell cell;
                for (int j = 1; j <= 6; j++)
                {
                    row = new TableRow(); /*Olması Gereken Yer*/
                    cell = new TableCell();
                    TextBox tx = new TextBox();
                    Label lbl = new Label();
                    tx.Width = 100;
                    if (j == 1)
                    {
                        tx.ID = "txt_ad" + i.ToString() + "_" + j.ToString();
                        cell.InnerHtml = "Ad: " + i.ToString();
                        cell.Controls.Add(tx);
                    }
                    row.Cells.Add(cell); /*Olması Gereken Yer*/
                    table_mekanlar.Rows.Add(row); /*Olması Gereken Yer*/
                }


    Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com

    28 Ekim 2012 Pazar 13:48
  • çözüm olarak önerdiğiniz konuyu bilmiyorum, demek istediğim oydu. yani çözümü nasıl gerçekleştireceğim hakkında bir bilgim yok.

    Çözümü söylemiştim işte , o iki satırı for içine al. İllede kaynak lazımsa;

    http://msdn.microsoft.com/en-us/library/ch45axte(v=vs.71).aspx


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

    28 Ekim 2012 Pazar 13:57
    Moderatör
  • İlk hali yukardaki gibi oluyor, başka bir bölge seçip otel ekle dediğim zaman ilk satırı değiştiriyor. Dediğiniz şekli kendime göre uyarlıyıp yaptım fakat gene çalışmadı. Tam dediğiniz şekilde yaptığımda bütün hücreleri birer satır olarak ekliyor.

    28 Ekim 2012 Pazar 18:42
  • Atakan Savaş: ilk mesajımda sana row u oluşturduğun kodu for içine taşı dedim, sonra execute yazdı verdi, sonra tekrar açıkladık. 3 tane doğru yanıtı görmedin gene bizim dediğimizi bu linkten buldun yaptın.

    Öncelikle bu işler ezbere biraz zor olacaktır size önerim C# dilini bir kursa katılarak olmadı, Video ve tutorial izleyerek(msdn.com da bolca var) öğrenmeniz.

    Diğer bir konu Bu yaptığınızı generic liste ile yapmanız daha rahat olurdu bunu size önermek istedim ancak 2 satırı for'un içine alamadınız

     

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

    28 Ekim 2012 Pazar 20:37
    Moderatör