none
ASP.NET te GridView de İşlem Yapmak RRS feed

  • Soru

  • merhabalar

    gridviewde ornegın ...sayı 1 say2 ve sonuc alanlarım var ben sayı1 e gırdıgım deger ıle sayı 2 ye  gırdıgım degerı toplayıp sonuc alanına yazacak ...istedıgım sey bu ama gridview ıle olacak bu...

    tesekkurler..


    mk

    20 Eylül 2012 Perşembe 12:45

Yanıtlar

  • Merhaba Gökhan;

    Öncelikle GridView Tasks'dan "Add new Column" diyerek yeni template bir kolon ekleyebilirsin daha sonrada bir buttonClick eventinde veya FormLoad' da aşağıdaki işlemleri gerçekleştirebilirsin, Fikir vermesi amacıyla;

    protected void Button1_Click(object sender, EventArgs e)
            {
                foreach(GridViewRow row in GridView1.Rows)
                {
                    row.Cells[6].Text=(Convert.ToInt32(row.Cells[4].Text) + Convert.ToInt32(row.Cells[5].Text)).ToString();
                }
            }

    Önce;

    sonra;

    Kolay gelsin;


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    21 Eylül 2012 Cuma 11:28
  • Merhaba;

    Benzer işlemleri button'un click eventinde değil de, GridView'ın Row Updated eventinde yapabilirsin sanırım.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    8 Ekim 2012 Pazartesi 13:43
  • Merhaba;

    Benim yukarıda Row_Update eventinden bahsetme sebebim bir satırdaki bilgiyi editleyince yeni toplama işleminin yapılmak istenmesiydi. 

    Fakat sanırım senin istediğin olay DataBindingCompleted eventi ile halledilebilir gibi.

    detaylı bilgi için: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.databindingcomplete.aspx

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    10 Ekim 2012 Çarşamba 06:27
  • Utilities.cs

    public static class Utilities
    {

            public static bool IsNumeric(this string s)
            {

                int output;

                return int.TryParse(s, out output);

            }
            public static int getTextAsInt(this string s)
            {

                if (IsNumeric(s))
                {
                    return Int32.Parse(s);
                }
                else { return 0; }
            }
        }

    Default.aspx.cs 

          

    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)

            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    Int32 toplamInt = Utilities.getTextAsInt(e.Row.Cells[1].Text) + Utilities.getTextAsInt(e.Row.Cells[2].Text) + Utilities.getTextAsInt(e.Row.Cells[3].Text) ;
                    e.Row.Cells[4].Text = toplamInt.ToString();

    }}

    Sorunum bu şekilde çözüldü :)

    16 Ekim 2012 Salı 14:33

Tüm Yanıtlar

  • Merhaba Gökhan;

    Öncelikle GridView Tasks'dan "Add new Column" diyerek yeni template bir kolon ekleyebilirsin daha sonrada bir buttonClick eventinde veya FormLoad' da aşağıdaki işlemleri gerçekleştirebilirsin, Fikir vermesi amacıyla;

    protected void Button1_Click(object sender, EventArgs e)
            {
                foreach(GridViewRow row in GridView1.Rows)
                {
                    row.Cells[6].Text=(Convert.ToInt32(row.Cells[4].Text) + Convert.ToInt32(row.Cells[5].Text)).ToString();
                }
            }

    Önce;

    sonra;

    Kolay gelsin;


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    21 Eylül 2012 Cuma 11:28
  • Aynısını ben de yapmak istiyorum fakat update olduğunda yani 1. sayı ya da 2. sayı değiştiğinde toplamda kendiliğinde değişsin istiyorum yardımcı olur musunuz?
    8 Ekim 2012 Pazartesi 11:32
  • Merhaba;

    Benzer işlemleri button'un click eventinde değil de, GridView'ın Row Updated eventinde yapabilirsin sanırım.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    8 Ekim 2012 Pazartesi 13:43
  • Aynı işlemi ben de yapmak istiyorum. Aşağıdaki gibi bir tablo oluşturdum. Gridview ile bağlantısını yaptım. Add New Column ile yeni bir sütun ekledim ve toplam adını verdim(TemporaryField). RowUpdated olayının altına yukarıdaki arkadaşın verdiği kodu yazdım fakat aynı şekilde aşağıdaki gridview açıldı. Toplama yapmadı. Yardımcı olursanız sevinirim.

    protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
            {
                foreach (GridViewRow row in GridView1.Rows)
                {
                    row.Cells[6].Text = (Convert.ToInt32(row.Cells[4].Text) + Convert.ToInt32(row.Cells[5].Text)).ToString();
                }
            }

    10 Ekim 2012 Çarşamba 00:20
  • Merhaba;

    Benim yukarıda Row_Update eventinden bahsetme sebebim bir satırdaki bilgiyi editleyince yeni toplama işleminin yapılmak istenmesiydi. 

    Fakat sanırım senin istediğin olay DataBindingCompleted eventi ile halledilebilir gibi.

    detaylı bilgi için: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.databindingcomplete.aspx

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    10 Ekim 2012 Çarşamba 06:27
  • Specified argument was out of the range of valid values. bu hatayı alıyorum .  

    verdiğiniz kodda row update in altınada yazdm tam olarak derdimi anladınz aslında dediğinz gibi "Row_Update eventinden bahsetme sebebim bir satırdaki bilgiyi editleyince yeni toplama işleminin yapılmak istenmesiydi. " bu,,,,,

    ben bu gridview 30 textbox a sayı grerk tek tek hepisini ve toplamını buttonun altında yaptırıyrum, gridiview in içi dolu tekrar editlendiğindede değiştiriyrum sayıları fakat kendiliğinden toplam sutununu değiştiremiyorum.

    10 Ekim 2012 Çarşamba 12:23
  • Utilities.cs

    public static class Utilities
    {

            public static bool IsNumeric(this string s)
            {

                int output;

                return int.TryParse(s, out output);

            }
            public static int getTextAsInt(this string s)
            {

                if (IsNumeric(s))
                {
                    return Int32.Parse(s);
                }
                else { return 0; }
            }
        }

    Default.aspx.cs 

          

    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)

            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    Int32 toplamInt = Utilities.getTextAsInt(e.Row.Cells[1].Text) + Utilities.getTextAsInt(e.Row.Cells[2].Text) + Utilities.getTextAsInt(e.Row.Cells[3].Text) ;
                    e.Row.Cells[4].Text = toplamInt.ToString();

    }}

    Sorunum bu şekilde çözüldü :)

    16 Ekim 2012 Salı 14:33