c# Web

Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız

Şişmanlik yada fazla kilo olarak adlandırılan obezite, günümüzün en önemli sağlık sorunlarından birini oluşturmaktadır. Neredeyse tüm ülkeler vatandaşlarının obez olup olmadığını kontrol etmektedir. Bu uygulamamızda firmaya ait personel bilgilerine göre, kişinin ideal kilosunu hesaplama işlemi gerçekleştirilecektir. Bilgiler xml dosyasında saklanacaktır. Bilgi girişleriyse GridView nesnesi aracılığıyla yapılacaktır.

Xml dosyasının kayıt yapısıyla işleme başlayalım. 

<?xml version="1.0" standalone="yes"?>
<personel>
  <kisi>
    <adi>kamil</adi>
    <soyadi>karşal</soyadi>
    <boy>168</boy>
    <kilo>70</kilo>
    <idealkilo>64,13</idealkilo>
  </kisi>
</personel>
 
Şimdi de web sayfasının görünümünü ayarlayalım. Aşağıdaki kodları body etiketi arasına yazınız.
 
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDeleting="GridView1_RowDeleting"
 
            OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCommand="GridView1_RowCommand" OnRowCancelingEdit="GridView1_RowCancelingEdit"
 
            ShowFooter="True" Width="400px" 
 
            CellPadding="4" ForeColor="#333333" GridLines="None">
 
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
 
            <Columns>
 
                <asp:TemplateField HeaderText="Adı">
 
                    <EditItemTemplate>
 
                        <asp:TextBox ID="TextBox1" runat="server" Width="100" Text='<%# Bind("adi") %>'></asp:TextBox>
 
                    </EditItemTemplate>
 
                    <FooterTemplate>
 
                        <asp:TextBox ID="txtAd" runat="server" Width="100"></asp:TextBox>
 
                    </FooterTemplate>
 
                    <ItemTemplate>
 
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("adi") %>'></asp:Label>
 
                    </ItemTemplate>
 
                </asp:TemplateField>
 
                <asp:TemplateField HeaderText="Soyadı">
 
                    <EditItemTemplate>
 
                        <asp:TextBox ID="TextBox2" runat="server" Width="100" Text='<%# Bind("soyadi") %>'></asp:TextBox>
 
                    </EditItemTemplate>
 
                    <FooterTemplate>
 
                        <asp:TextBox ID="txtSoyad" runat="server" Width="100"></asp:TextBox>
 
                    </FooterTemplate>
 
                    <ItemTemplate>
 
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("soyadi") %>'></asp:Label>
 
                    </ItemTemplate>
 
                </asp:TemplateField>
 
                <asp:TemplateField HeaderText="Boyu">
 
                    <EditItemTemplate>
 
                        <asp:TextBox ID="TextBox3" runat="server" Width="100" Text='<%# Bind("boy") %>'></asp:TextBox>
 
                    </EditItemTemplate>
 
                    <FooterTemplate>
 
                        <asp:TextBox ID="txtBoy" runat="server" Width="100"></asp:TextBox>
 
                    </FooterTemplate>
 
                    <ItemTemplate>
 
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("boy") %>'></asp:Label>
 
                    </ItemTemplate>
 
                </asp:TemplateField>
 
                <asp:TemplateField HeaderText="Kilosu">
 
                    <EditItemTemplate>
 
                        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("kilo") %>' Width="100"></asp:TextBox>
 
                    </EditItemTemplate>
 
                    <FooterTemplate>
 
                        <asp:TextBox ID="txtKilo" runat="server" Width="100"></asp:TextBox>
 
                    </FooterTemplate>
 
                    <ItemTemplate>
 
                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("kilo") %>'></asp:Label>
 
                    </ItemTemplate>
 
                </asp:TemplateField>
 
                <asp:TemplateField HeaderText="İdeal Kilo">
                
                    <EditItemTemplate>
 
                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("idealkilo") %>' Width="100"></asp:TextBox>
 
                    </EditItemTemplate>
 
                    <FooterTemplate>
 
                        <asp:TextBox ID="txtIdeal" runat="server" Width="100"></asp:TextBox>
 
                    </FooterTemplate>
 
                    <ItemTemplate>
 
                        <asp:Label ID="Label5" runat="server" Text='<%# Bind("idealkilo") %>'></asp:Label>
 
                    </ItemTemplate>
                
                </asp:TemplateField>
 
                <asp:TemplateField ShowHeader="False">
 
                    <EditItemTemplate>
 
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
 
                            Text="Güncelle"></asp:LinkButton>
 
                        &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
 
                            Text="İptal"></asp:LinkButton>
 
                    </EditItemTemplate>
 
                    <FooterTemplate>
 
                        <asp:LinkButton ID="btnInsert" runat="server" CommandName="insert">Ekle</asp:LinkButton>
 
                    </FooterTemplate>
 
                    <ItemTemplate>
 
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
 
                            Text="Düzenle"></asp:LinkButton>
 
                    </ItemTemplate>
 
                    <ItemStyle Width="120px" />
 
                </asp:TemplateField>
 
                <asp:CommandField ShowDeleteButton="True" DeleteText="Sil" />
 
            </Columns>
 
            <EditRowStyle BackColor="#999999" />
 
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
 
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
 
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
 
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
 
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
 
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
 
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
 
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
 
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
 
        </asp:GridView>
 
Sıra geldi kodları düzenlemeye. Aşağıdaki kodları cs dosyası içine yazalım.
 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                bilgilerigetir();
        }
 
        private void bilgilerigetir()
        {
            DataSet ds = new DataSet();
            ds.ReadXml(Server.MapPath("diyetisyen.xml"));
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
 
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
 
            GridView1.EditIndex = e.NewEditIndex;
 
            bilgilerigetir();
 
        }
 
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
 
            GridView1.EditIndex = -1;
 
            bilgilerigetir();
 
        }
 
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
 
            int i = GridView1.Rows[e.RowIndex].DataItemIndex;
 
            string adi = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text;
 
            string soyadi = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text;
 
            string boy = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox3")).Text;
 
            string kilo = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox4")).Text;
 
            double ideal=50 + 2.3 * ((double.Parse(boy) / 2.54) - 60);
 
            string idealkilo = String.Format("{0,6:0.00}", ideal);    
 
            GridView1.EditIndex = -1;
 
            bilgilerigetir();
 
            DataSet ds = (DataSet)GridView1.DataSource;
 
            ds.Tables[0].Rows[i]["adi"] = adi;
 
            ds.Tables[0].Rows[i]["soyadi"] = soyadi;
 
            ds.Tables[0].Rows[i]["boy"] = boy;
 
            ds.Tables[0].Rows[i]["kilo"] = kilo;
 
            ds.Tables[0].Rows[i]["idealkilo"] = idealkilo;
 
            ds.WriteXml(Server.MapPath("diyetisyen.xml"));
 
            bilgilerigetir();
 
        }
 
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
 
            bilgilerigetir();
 
            DataSet ds = (DataSet)GridView1.DataSource;
 
            ds.Tables[0].Rows[GridView1.Rows[e.RowIndex].DataItemIndex].Delete();
 
            ds.WriteXml(Server.MapPath("diyetisyen.xml"));
 
            bilgilerigetir();
 
        }
 
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
 
            if (e.CommandName == "insert")
            {
 
                string adi = ((TextBox)GridView1.FooterRow.FindControl("txtAd")).Text;
 
                string soyadi = ((TextBox)GridView1.FooterRow.FindControl("txtSoyad")).Text;
 
                string boy = ((TextBox)GridView1.FooterRow.FindControl("txtBoy")).Text;
 
                string kilo = ((TextBox)GridView1.FooterRow.FindControl("txtKilo")).Text;
 
                double ideal = 50 + 2.3 * ((double.Parse(boy) / 2.54) - 60);
 
                string idealkilo = String.Format("{0,6:0.00}", ideal);   
 
                bilgilerigetir();
 
                DataSet ds = GridView1.DataSource as DataSet;
 
                DataRow dr = ds.Tables[0].NewRow();
 
                dr[0] = adi;
 
                dr[1] = soyadi;
 
                dr[2] = boy;
 
                dr[3] = kilo;
 
                dr[4] = idealkilo;
 
                ds.Tables[0].Rows.Add(dr);
 
                ds.AcceptChanges();
 
                ds.WriteXml(Server.MapPath("diyetisyen.xml"));
 
                bilgilerigetir();
 
            }
 
        }
 
Şimdi de personelin boy ortalamasını bulalım. Bu işlemi gerçekleştirmenin birden fazla yöntemi vardır. Bu yöntemlere geçmeden önce en güncel bilgilerin listelendiği bölüm olan bilgilerigetir() fonksiyonu içinde bu işlemleri gerçekleştirmemiz gerekir. Web sayfasında GridView altına bir adet Label ekleyelim ve ismini lblSonuc olarak belirleyelim.
 
        <asp:Label ID="lblSonuc" runat="server" Text="" Font-Size="Large" ForeColor="Blue"></asp:Label>
 
Dataset içinden bilgileri alarak
 
            int adet;
            double toplam=0;
 
            adet = ds.Tables[0].Rows.Count;
            
            for (int i = 0; i < adet; i++)
            {
                toplam +=double.Parse(ds.Tables[0].Rows[i]["boy"].ToString());
            }
 
            lblSonuc.Text = "Personelin Boy Ortalaması :" + (toplam / adet).ToString("0.00");
 
GridView içinden bilgileri alarak
 
            int adet;
            double toplam = 0;
 
            adet = GridView1.Rows.Count;
 
            for (int i = 0; i < adet; i++)
            {
                toplam += Convert.ToDouble(((Label)GridView1.Rows[i].FindControl("Label3")).Text);
            }
 
            lblSonuc.Text = "Personelin Boy Ortalaması :" + (toplam / adet).ToString("0.00");

İlgili Makaleler
Web Sayfasının Hangi Tarayıcıda Çalıştığını Bulma
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Visual Studio 2019 Programında c# İle Hazırlanan Web Projesini Local Sunucuda Yayınlama
ASP.NET Uygulamasında Metin Kutusunda Sadece Kredi/Banka Kartı Numarası Biçimine Nasıl İzin Verilir?
Update Panel İçinde Button Click Çalışmıyor Hatasını Düzeltme
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
Ajax Modal Popup Kullanarak GridView İçindeki Bir Kaydı Listeleyip Güncelleme
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Microsoft Visual Studio Live Share Nedir? Nasıl Kullanılır?
Asp.Net Programında Butonla GridView Nesnesine Yeni Bir Satır Ekleme
Web Uygulamalarında SqLite Kullanımı
Visual Studio 2022 Programında Asp.Net Core Empty RazorPage Web Projesi Oluşturma
Visual Studio 2022 Programında Asp.Net Core Web Projesi Oluşturma
Ayt 123 Sorusunu Core MVC Teknolojisini Kullanarak Çözümünü Bulma
Core Mvc Projesinde Birden Fazla Veriyi Tuple Nesnesiyle Gönderen Uygulama
Core Mvc Uygulamasında Sanal Data Kullanarak Personel Bilgilerini İşleyen Web Projesi Oluşturma1
Restful Http Get, Post, Put ve Delete İşlemlerini Veri Tabanı Üzerinde Gerçekleştirme
Derslerden Alınan Notları TempData Kullanarak Listeleyen Core Mvc Uygulaması
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama1
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama2

Yorum Ekle
   
Kötü
İyi