c# Web
Beğen (0)

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");

Projeyi kaydedip çalıştıralım. Sonuç alt tarafta görüntülenir.

Okunma Sayısı: 1

Yorumlar

Yorum Ekle
Kötü İyi
İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Asp.Net Platformunda Harici JSON Dosyasından Namaz Vakitlerini Alma
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Asp.Net Uygulamalarında Response.Redirect Kullanarak Web Sayfasını Yeni Sekmede Açma
Stripe Kullanarak Kredi Kartı ile Ödeme İşlemi Yapan Asp.Net Uygulaması
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Oluşturulan DLL Dosyasını Web Sayfasına Ekleyip Kullanma
Klavyeden Girilen İki Sayıyı Toplayan Programı Visual Studio 2022 Programında Web Sayfası Olarak Kodlayınız
Ajax Modal Popup Extender Kullanarak GridView Satırını Düzenleme ve Yeni Kayıt Ekleme
Sanal Data Kullanarak Oluşturulan Personel Bilgilerini SqLite Veri Tabanına Dönüştüren Web Uygulaması4
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
Derslere Ait Başarı Durumunu Model Tasarlayarak Listeleyen Core Mvc Uygulaması
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosuna Kayıt Girişi Yapma
ASP.NET ve ASP.NET Core Arasındaki Farklar
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Öğrenci Bilgilerini Post Metoduyla Alan Core Mvc Uygulaması
Yayınlanan Web Service Hizmetini Asp.Net Web Sayfasında Kullanma
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma
Arduino Kartla Led Yakma Uygulamasını Web Sayfasında Seri Port Yardımıyla Gerçekleştirme