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
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Asp.Net Uygulamalarında Sweet Alert Mesaj Kullanımı
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Oluşturulan DLL Dosyasını Web Sayfasına Ekleyip Kullanma
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama5
Asp.Net Web Uygulamasından Hazır Word Şablonlarına Bilgi Aktarma
Visual Studio 2019 Programında c# İle Hazırlanan Web Projesini Local Sunucuda Yayınlama
Update Panel İçinde Button Click Çalışmıyor Hatasını Düzeltme
Core Mvc Uygulamasında Sanal Data Kullanarak Personel Bilgilerini İşleyen Web Projesi Oluşturma5
Sanal Data Kullanarak Oluşturulan Personel Bilgilerini SqLite Veri Tabanına Dönüştüren Web Uygulaması1
Web Kullanıcı Kontrolleri Oluşturma
Bootstrap 4 Modal Uygulamasında c# Kodlarıyla Butona Olay Yazma
Asp.Net Web Uygulamalarında SqLite Tablosuna Kayıt Girişini Gerçekleştirme
CRUD İşlemlerinde Action OverLoading ve Route Attribute Kullanımı
Asp.Net Uygulamalarında Response.Redirect Kullanarak Web Sayfasını Yeni Sekmede Açma
Asp.Net İle Request Url Bilgilerini Alma
2022 Katar Dünya Kupasında Belirlenen Grupları Table Etiketini Kullanarak Web Core Sayfasında Görüntüleme
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunda Kayıtları Listeleme
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Regular Expressions ve ASP.Net RegularExpression Validator Kullanarak Parola İlkesi Oluşturma

Yorum Ekle
   
Kötü İyi