Başlangıç

Asp.NET ve MySQL Gridview İçinde DropDownList ve Diğer Nesnelerin Kullanımı 5 SON.

1 Yorum


Diğer 4 konuda GridView kullanımının ayrıntılarını görmüştük. (konu1, konu2, konu3, konu4) Şimdi son olarak GridView içine diğer nesneleri yerleştirip veri tabanı ile ilişkilendirelim.Bu anlatılanlar Wizardlar kullanılarak yapılabilsede kullandıpımız veritabanı MySQL olduğu için mecbur yazmak en sağlamı ve en etkili yolu. 4. konu anlatımından farklı olarak kodumuzda değişenler;

Not: Kullandığım alandal tablosunda alanno(otomatik sayı), kod(sayı), alan(metin), dal(metin), sef(metin)  

  • gridview1.aspx dosyasındaki GridView122 nesnesinde değişenler ve mutlak önemli olanlar;
  • DataKeyNames=”alanno”:Satır Seçimlerinde baz alınacak alan
  • <asp:dropdownlist id=”dbEditAlanAdi” runat=”server” Visible=”true”></asp:dropdownlist>:edit butonuna basıldığında açılır kutu aşağıdaki kodlarla dolacak.
  • <asp:Label id=”lblEditAlanAdi” runat=”server” Visible=”false”
    Text='<%# DataBinder.Eval(Container, “DataItem.alan”) %>’>
    </asp:Label>:Buradaki Gizli label aslında veritabanında kayıtlı olan değeri tutuyor ve kod içinde açılır kutuya kaynak olarak seçili olan olmasını sağlıyoruz.
  • <asp:dropdownlist id=”dbaddAlanAdi” runat=”server” Visible=”true”>
    </asp:dropdownlist>:Yeni kayıt ekleme satırında bulunacak nesne kod bölümünde doldurulacak.
  • gridview1.aspx dosyası;

<asp:GridView ID=”GridView122″ runat=”server” ShowFooter=”True” DataKeyNames=”alanno”
onrowcancelingedit=”GridView122_RowCancelingEdit”
onrowediting=”GridView122_RowEditing”
onrowupdating=”GridView122_RowUpdating”
onrowdeleting=”GridView122_RowDeleting” AutoGenerateColumns=”False”
onrowcommand=”GridView122_RowCommand”
onrowdatabound=”GridView122_RowDataBound”>

<Columns>
<asp:TemplateField HeaderText=”Alan No”>
<ItemTemplate>
<asp:LinkButton id=”lblAlanNo” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alanno”) %>’></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:Label id=”lblEditAlanNo” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alanno”) %>’></asp:Label>
</EditItemTemplate>
<FooterTemplate>
<asp:Label id=”lblAddAlanNo” size=”5″ runat=”server”></asp:Label>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Alan Kod”>
<ItemTemplate>
<asp:Label id=”lblAlanKod” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.kod”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditAlanKod” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.kod”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddAlanKod” size=”5″ runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Alan Adı”>
<ItemTemplate>
<asp:Label id=”lblAlanAdi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alan”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:dropdownlist id=”dbEditAlanAdi” runat=”server” Visible=”true”></asp:dropdownlist>
<asp:Label id=”lblEditAlanAdi” runat=”server” Visible=”false”
Text='<%# DataBinder.Eval(Container, “DataItem.alan”) %>’>
</asp:Label>
</EditItemTemplate>
<FooterTemplate>
<asp:dropdownlist id=”dbaddAlanAdi” runat=”server” Visible=”true”>
</asp:dropdownlist>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Dal Adı”>
<ItemTemplate>
<asp:Label id=”lblDalAdi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.dal”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditDalAdi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.dal”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddDalAdi” runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Dal Şefi”>
<ItemTemplate>
<asp:Label id=”lblAlanDalSefi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.sef”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditDalSefi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.sef”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddDalSefi” runat=”server”></asp:TextBox>
<asp:Button id=”btnAdd” runat=”server” Text=”Add” CommandName=”Add”></asp:Button>
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField HeaderText=”Düzenle” ShowEditButton=”True” />
<asp:CommandField HeaderText=”Satır Sil” ShowDeleteButton=”True” />
</Columns>
</asp:GridView>

  • gridview1.aspx.cs dosyası değişenler ve önemli ayrıntılar;

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;
using System.Collections.Generic;
using System.Linq;
using MySql.Data;//proje adına sag tıklayarak Add Reference seçeneğinden .NET sekmesinden MySQL.Data eklenecek

public partial class gridview1 : System.Web.UI.Page
{
MySqlConnection baglanti;
MySqlCommand sqlkomut;
ListItem defValue = new ListItem();//açılır kutulara eklenecek elemanlar için
ListItem defValue3 = new ListItem();
protected void Page_Load(object sender, EventArgs e)
{
baglantifonk();//MySQL Bağlantı kodları
if (!Page.IsPostBack)//sayfa ilk çalıştığında GridViewi doldurma
{
GridView122.ShowFooter = true;
gridviewdoldur();

}

}
protected void baglantifonk()//sık sık kullanacağımız MySQL Bağlantısı kodları fonksiyon olarak yazdık
{
String baglantistringi;
baglantistringi = “Server=localhost;User Id=root; Password=1parola0; Database=yogaltim_db; Pooling=false”;
baglanti = new MySqlConnection(baglantistringi);
baglanti.Open();
}

protected void gridviewdoldur()//GridView nesnesi doldurma fonksiyonu
{
String strSQL;
strSQL = “SELECT alanno,kod,alan,dal,sef FROM alandal “;

MySqlDataReader dtReader;
sqlkomut = new MySqlCommand(strSQL, baglanti);
dtReader = sqlkomut.ExecuteReader();

GridView122.DataSource = dtReader;
GridView122.DataBind();

dtReader.Close();
dtReader = null;

}
protected void Page_UnLoad()//sayfa kapatıldığında bağlantıyı sonlandırma
{
baglanti.Close();
baglanti = null;
}

protected void GridView122_RowEditing(object sender, GridViewEditEventArgs e)//Gridview122 edit butonuna basıldığında
{
GridView122.EditIndex = e.NewEditIndex;//gridviewde tıklanan satır güncelleme modunda gözükecek
GridView122.ShowFooter = false;//gridwiev ekleme satırı gözükmeyecek
gridviewdoldur();
}
protected void GridView122_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)//Gridview122 edit butonuna basıldıktan sonra cancel butonuna basılırsa.
{
GridView122.EditIndex = -1;//gridview güncelleme satırı modundan çıkacak
GridView122.ShowFooter = true;//gridwiev ekleme satırı gözükecek
gridviewdoldur();
}
protected void GridView122_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//*** txtEditAlanKod ***//
TextBox txtEditAlanKod = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditAlanKod”);
//*** dbEditAlanAdi ***//
DropDownList dbEditAlanAdi = (DropDownList)GridView122.Rows[e.RowIndex].FindControl(“dbEditAlanAdi”);
//*** txtEditDalAdi ***//
TextBox txtEditDalAdi = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditDalAdi”);
//*** txtEditDalSefi ***//
TextBox txtEditDalSefi = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditDalSefi”);
String strSQL;
strSQL = “UPDATE alandal SET” +
” kod= ” + txtEditAlanKod.Text +
” ,alan = ‘” + dbEditAlanAdi.Text + “‘ ” +
” ,dal = ‘” + txtEditDalAdi.Text + “‘ ” +
” ,sef = ‘” + txtEditDalSefi.Text + “‘ ” +
” WHERE alanno = ” + Convert.ToString(GridView122.DataKeys[e.RowIndex].Value);
sqlkomut = new MySqlCommand(strSQL, baglanti);
sqlkomut.ExecuteNonQuery();
GridView122.EditIndex = -1;
GridView122.ShowFooter = true;
gridviewdoldur();
}
protected void GridView122_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
String strSQL;
strSQL = “DELETE FROM alandal WHERE alanno = ” + GridView122.DataKeys[e.RowIndex].Value;
sqlkomut = new MySqlCommand(strSQL, baglanti);
sqlkomut.ExecuteNonQuery();
GridView122.EditIndex = -1;
gridviewdoldur();
}

protected void GridView122_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == “Add”)
{
//*** txtAddAlanKod ***//
TextBox txtAddAlanKod = (TextBox)GridView122.FooterRow.FindControl(“txtAddAlanKod”);
//*** dbaddAlanAdi ***//
DropDownList dbaddAlanAdi = (DropDownList)GridView122.FooterRow.FindControl(“dbaddAlanAdi”);
//*** txtAddDalAdi ***//
TextBox txtAddDalAdi = (TextBox)GridView122.FooterRow.FindControl(“txtAddDalAdi”);
//*** txtAddDalSefi ***//
TextBox txtAddDalSefi = (TextBox)GridView122.FooterRow.FindControl(“txtAddDalSefi”);
String strSQL;
strSQL = “INSERT INTO alandal (kod,alan,dal,sef) ” +
” VALUES (” + txtAddAlanKod.Text + “,'” + dbaddAlanAdi.Text + “‘ ” +
” ,'” + txtAddDalAdi.Text + “‘,'” + txtAddDalSefi.Text + “‘) “;
sqlkomut = new MySqlCommand(strSQL, baglanti);
sqlkomut.ExecuteNonQuery();
gridviewdoldur();
}
}
protected void GridView122_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) //Edit butonuna basınca açılır kutu oluşturma
{
Label lblEditAlanAdi = (Label)e.Row.FindControl(“lblEditAlanAdi”);//aynı yerde değeri tutan gizli label
DropDownList dbEditAlanAdi = (DropDownList)e.Row.FindControl(“dbEditAlanAdi”);//alan değerlerinin yükleneceği açılır kutu
if (null != dbEditAlanAdi)
{

dbEditAlanAdi.DataSource = getdataset1().Tables[0];//açılır kutuyu aşağıdaki fonksiyonu çağırarak veritabanından doldurduk
dbEditAlanAdi.DataTextField = “alan”;
dbEditAlanAdi.DataValueField = “alan”;
dbEditAlanAdi.DataBind();
//Response.Write(lblEditAlanAdi.Text);
MySqlCommand alanalkomut1 = new MySqlCommand(“select alan from alandal where alan='” + lblEditAlanAdi.Text+”‘”, baglanti);
MySqlDataReader alanoku1 = alanalkomut1.ExecuteReader();//daha önce kayıtlı verinin açılır kutuda seçili olmasını sağladık.
if (alanoku1.Read())
{
defValue3.Text = alanoku1[“alan”].ToString();
defValue3.Value = alanoku1[“alan”].ToString();
defValue3.Selected = true;
dbEditAlanAdi.Items.Add(defValue3);

}
else
{
dbEditAlanAdi.Items.Add(defValue); // eğer sistemde kayıtlı değilse  defValue’ yi dropdownlist’e ekliyoruz.
}
}

}
if (e.Row.RowType == DataControlRowType.Footer)//yeni kayıt satırında ise
{ DropDownList dbaddAlanAdi = (DropDownList)e.Row.FindControl(“dbaddAlanAdi”);//isimli liste elemanını bul
if (null != dbaddAlanAdi)
{
dbaddAlanAdi.DataSource = getdataset1().Tables[0]; //oluşsan dataset fonksiyonundan değerleri al
dbaddAlanAdi.DataTextField = “alan”;
dbaddAlanAdi.DataValueField = “alan”;
dbaddAlanAdi.DataBind();// açılır kutuya ekle
listeelemanifonk();//yeni bir liste elemanı oluşturan fonksiyon
dbaddAlanAdi.Items.Add(defValue); // Daha sonra dropdownlist’e ekliyoruz.
}
}
}
private DataSet getdataset1()//DropDownList nesnelerinin veritabanı ilişkisi
{
baglantifonk();
string strSQL = “Select alan from alandal”;
MySqlDataAdapter ad = new MySqlDataAdapter(strSQL, baglanti);
DataSet ds = new DataSet();
ad.Fill(ds);
return ds;
}
protected void listeelemanifonk() // defValue değerini oluşturan fonksiyon
{
defValue.Text = “Lütfen birini seçiniz!”; // Listede görünecek yazı
defValue.Value = “”; // Görünen isme karşılık gelen değer *SelectedValue
defValue.Selected = true; // Bunun seçili olmasını sağlıyoruz.
}
}

İnternette özellikle bu konu ile ilgili bir sürü yabancı kaynak var. Ama türkçe pek bulamadım. Yabancı kaynaklarda nedense sanki anlaşılmasın diye çok ağır ve çok tefarruata girerek anlatmışlar. Benim sadeleştirebildiğim kadarıyla GridView konusunun sonuna geldik. Bunları öğrendim. Diğer nesneler de aynı yöntemler kullanılarak eklenebilir diye düşünüyorum.

Asp.NET ve MySQL İle Gridview Sütunlarını Belirleme ve Veritabanından Durumlarına Göre Doldurma, TemplateField Oluşturma, Seçilen Duruma Göre Silme, Güncelleme, Yeni Kayıt ve Düzenleme İşlemleri. 4

Yorum bırakın


Bir Önceki Dersteki GridView nesnesi hazırlandıktan sonra Daha Önce kodlarını yazmadığımız Update, Delete, Add butonlarının işlevlerini yazalım.

  • GridView122.DataKeys[e.RowIndex].Value; kodu değer alabilmesi için  GridView nesnesinin kodunda DataKeyNames=”alanno”  olması gerekir.
  • GridView son hali;(bir önceki dersten farklı olarak sadece kırmızı ile yazdığım kısım eklenecek );

<asp:GridView ID=”GridView122″ runat=”server” ShowFooter=”True” DataKeyNames=”alanno”
onrowcancelingedit=”GridView122_RowCancelingEdit”
onrowediting=”GridView122_RowEditing”
onrowupdating=”GridView122_RowUpdating”
onrowdeleting=”GridView122_RowDeleting” AutoGenerateColumns=”False”
onrowcommand=”GridView122_RowCommand”> şeklinde olmalıdır.

  • Güncelleme Kodu;

protected void GridView122_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//*** txtEditAlanKod ***//
TextBox txtEditAlanKod = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditAlanKod”);
//*** txtEditAlanAdi ***//
TextBox txtEditAlanAdi = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditAlanAdi”);
//*** txtEditDalAdi ***//
TextBox txtEditDalAdi = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditDalAdi”);
//*** txtEditDalSefi ***//
TextBox txtEditDalSefi = (TextBox)GridView122.Rows[e.RowIndex].FindControl(“txtEditDalSefi”);
String strSQL;
strSQL = “UPDATE alandal SET” +
” kod= ” + txtEditAlanKod.Text +
” ,alan = ‘” + txtEditAlanAdi.Text + “‘ ” +
” ,dal = ‘” + txtEditDalAdi.Text + “‘ ” +
” ,sef = ‘” + txtEditDalSefi.Text + “‘ ” +
” WHERE alanno = ” + Convert.ToString(GridView122.DataKeys[e.RowIndex].Value);
sqlkomut = new MySqlCommand(strSQL, baglanti);
sqlkomut.ExecuteNonQuery();
GridView122.EditIndex = -1;
GridView122.ShowFooter = true;
gridviewdoldur();
}

  • Silme Kodu;

protected void GridView122_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
String strSQL;
strSQL = “DELETE FROM alandal WHERE alanno = ” + GridView122.DataKeys[e.RowIndex].Value;
sqlkomut = new MySqlCommand(strSQL, baglanti);
sqlkomut.ExecuteNonQuery();
GridView122.EditIndex = -1;
gridviewdoldur();
}

  • Ekleme Kodu;

protected void GridView122_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == “Add”)
{
//*** txtAddAlanKod ***//
TextBox txtAddAlanKod = (TextBox)GridView122.FooterRow.FindControl(“txtAddAlanKod”);
//*** txtAddAlanAdi ***//
TextBox txtAddAlanAdi = (TextBox)GridView122.FooterRow.FindControl(“txtAddAlanAdi”);
//*** txtAddDalAdi ***//
TextBox txtAddDalAdi = (TextBox)GridView122.FooterRow.FindControl(“txtAddDalAdi”);
//*** txtAddDalSefi ***//
TextBox txtAddDalSefi = (TextBox)GridView122.FooterRow.FindControl(“txtAddDalSefi”);
String strSQL;
strSQL = “INSERT INTO alandal (kod,alan,dal,sef) ” +
” VALUES (” + txtAddAlanKod.Text + “,'” + txtAddAlanAdi.Text + “‘ ” +
” ,'” + txtAddDalAdi.Text + “‘,'” + txtAddDalSefi.Text + “‘) “;
sqlkomut = new MySqlCommand(strSQL, baglanti);
sqlkomut.ExecuteNonQuery();
gridviewdoldur();
}
}

Asp.NET ve MySQL İle Gridview Sütunlarını Belirleme ve Veritabanından Durumlarına Göre Doldurma, TemplateField Oluşturma 3

Yorum bırakın


Hazırlanıyor. Daha Önce Anlatılan 2 konunun devamı olarak anlatılacaktır. Nette buraya kadar döküman bulunuyor fakat burdan sonra çok fazla türkçe kaynak yok. Benim yaptığım örnekte ileri aşamalarda GridView içine bir nesne ekleyip nesneleri veritabanı ile ilişkilendirecez. Şimdi basit olarak Gridview nesnesinin  AutoGenerateColumns=”False”  yapalım. Artık veritabanından otomatik tabloları almaz. Bundan sonra alınacak alanları biz seçeceğiz.

GridView içinde kullanılan etiketlerin amacı;

<Columns> <!–kendi ekleyeceğimiz sütunlar bu etiket arasında olacak –>
<asp:TemplateField HeaderText=”Alan No”><!–ilk sutun ve adı  3 ayrı bölümden oluşur–>
<ItemTemplate><!–normaldeki liste; ilk sutun bu alanlara diğer asp nesneleri eklenip ilişkilendirilebilir–>
<asp:Label id=”lblAlanNo” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alanno”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate><!–Edit butonuna basıldığında görünecek liste halinde ilk sutun bu alanlara diğer asp nesneleri eklenip ilişkilendirilebilir –>
<asp:TextBox id=”txtEditAlanNo” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alanno”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate><!–en alttaki boş sutunda görünecek liste halinde ilk sutun bu alanlara diğer asp nesneleri eklenip ilişkilendirilebilir –>
<asp:TextBox id=”txtAddAlanNo” size=”5″ runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<!–her sutun için bir template field oluşturup istenen alanların istenen nesnelerde olmasını sağladık.–>

</Columns>

yukarıdaki gibi istenen nesneleri bu alnlara yerleştirebiliyoruz.

Birde ileride GridView verilerine ulaşmak için anahtar alan için DataKeyNames=”alanno” eklemek gerekiyor.

GridView Nesnemizin kodları;

<asp:GridView ID=”GridView122″ runat=”server” ShowFooter=”True” DataKeyNames=”alanno”
onrowcancelingedit=”GridView122_RowCancelingEdit”
onrowediting=”GridView122_RowEditing”
onrowupdating=”GridView122_RowUpdating”
onrowdeleting=”GridView122_RowDeleting” AutoGenerateColumns=”False”>

<Columns>
<asp:TemplateField HeaderText=”Alan No”>
<ItemTemplate>
<asp:Label id=”lblAlanNo” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alanno”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditAlanNo” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alanno”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddAlanNo” size=”5″ runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Alan Kod”>
<ItemTemplate>
<asp:Label id=”lblAlanKod” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.kod”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditAlanKod” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.kod”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddAlanKod” size=”5″ runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Alan Adı”>
<ItemTemplate>
<asp:Label id=”lblAlanAdi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alan”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditAlanAdi” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.alan”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddAlanAdi” size=”5″ runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Dal Adı”>
<ItemTemplate>
<asp:Label id=”lblDalAdi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.dal”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditDalAdi” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.dal”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddDalAdi” size=”5″ runat=”server”></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText=”Dal Şefi”>
<ItemTemplate>
<asp:Label id=”lblAlanDalSefi” runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.sef”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=”txtEditDalSefi” size=”5″ runat=”server” Text='<%# DataBinder.Eval(Container, “DataItem.sef”) %>’></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox id=”txtAddDalSefi” size=”5″ runat=”server”></asp:TextBox>
<asp:Button id=”btnAdd” runat=”server” Text=”Add” CommandName=”Add”></asp:Button>
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField HeaderText=”Düzenle” ShowEditButton=”True” />
<asp:CommandField HeaderText=”Satır Sil” ShowDeleteButton=”True” />
</Columns>
</asp:GridView>

en anlaşılır olanı bana göre kod ama isterseniz bunları aşağıdaki şekilleri takip ederek de yapabilirsiniz;

1.gridview6

2.gridview7

3.gridview8bu alanların eksik kodları ileriki zamanlarda ve bir önceki konuda anlatmıştıkç

4.gridview9

5.gridview10

6. gridview11

Asp.NET ve MySQL İle Gridview Edit,Cancel,Update ve Delete Butonları Ekleme 2

Yorum bırakın


Bir önceki konuda Gridview nasıl doldurulur anlatmıştık. O konunun Devamı olarak Gridview nesnemize Edit,Cancel,Update ve Delete Link Butonlarını Şekillerdeki Gibi veya Gridviewe kod yazarak  ekliyoruz.gridview2

gridview3 gridview4

<asp:GridView ID=”GridView122″ runat=”server” ShowFooter=”True” DataKeyNames=”alanno”
onrowcancelingedit=”GridView122_RowCancelingEdit”
onrowediting=”GridView122_RowEditing”
onrowupdating=”GridView122_RowUpdating” onrowdeleting=”GridView122_RowDeleting”>
<Columns>
<asp:CommandField HeaderText=”Düzenle” ShowEditButton=”True” />
<asp:CommandField HeaderText=”Satır Sil” ShowDeleteButton=”True” />
</Columns>
</asp:GridView>

Sonra Gridview nesnesinin olaylar bölümünden olayları oluşturuyoruz.

gridview5

Daha sonra olayları şimdilik aşağıdaki gibi doldurabiliriz;

protected void GridView122_RowEditing(object sender, GridViewEditEventArgs e)//Gridview122 edit butonuna basıldığında
{
GridView122.EditIndex = e.NewEditIndex;//gridviewde tıklanan satır güncelleme modunda gözükecek
GridView122.ShowFooter = false;//gridwiev ekleme satırı gözükmeyecek
gridviewdoldur();
}
protected void GridView122_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)//Gridview122 edit butonuna basıldıktan sonra cancel butonuna basılırsa.
{
GridView122.EditIndex = -1;//gridview güncelleme satırı modundan çıkacak
GridView122.ShowFooter = true;//gridwiev ekleme satırı gözükecek
gridviewdoldur();
}
protected void GridView122_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//bu alana Güncelleme kodları yazılacak ileriki bölümlerde
}
protected void GridView122_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//bu alana Seçili Satırı Silme kodları yazılacak ileriki bölümlerde
}

Asp.NET ve MySQL İle Gridview Doldurma-1

Yorum bırakın


Öncelikle Bilgisayarınıza MySQL indirip kurun. PhpMyAdmin indirip IIS ayarlarını yapın ve istediğiniz bir veritabanını oluşturun. Bu işlemlerin detaylı anlatımı için tıklayın. Projenizin isminin üzerinde sağ tıklayarak Add Reference bölümünden MySQL kütüphanelerini sayfaya referans olarak ekleyin. Referans ekleme için bir önceki konuda resimli olarak anlatmıştım. Eğer MySQL istemezseniz önceki konulardaki Access veya SQL bağlantı metodlarını da kullanabilirsiniz.

Sonrasında sayfaya bir adet gridview ekleyin.

gridview1

gridview1.aspx.cs kodu;

bu kütüphaneleri sayfanızın koduna ekleyiniz.

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;
using System.Collections.Generic;
using System.Linq;
using MySql.Data;//proje adına sag tıklayarak Add Reference seçeneğinden .NET sekmesinden MySQL.Data eklenecek.

public partial class gridview1 : System.Web.UI.Page
{
MySqlConnection baglanti;
MySqlCommand sqlkomut;
protected void Page_Load(object sender, EventArgs e)
{
baglantifonk();//sayfa yüklendiğinde gridview dolsun
if (!Page.IsPostBack)
{

GridView122.ShowFooter = true;//yeni ekle satırı görünsün,ileride dolacak
gridviewdoldur();
}

}
protected void baglantifonk()//programı sadeleştirmek için MySQL bağlantı kodlarını fonksiyon olarak yazdık.
{
String baglantistringi;
baglantistringi = “Server=localhost;User Id=root; Password=66666640; Database=yogaltveri; Pooling=false”;
baglanti = new MySqlConnection(baglantistringi);
baglanti.Open();
}

protected void gridviewdoldur()//programı sadeleştirmek için gridview doldurma kodlarını fonksiyon olarak yazdık.
{
String strSQL;
strSQL = “SELECT alanno,kod,alan,dal,sef FROM alandal “;

MySqlDataReader dtReader;
sqlkomut = new MySqlCommand(strSQL, baglanti);
dtReader = sqlkomut.ExecuteReader();

GridView122.DataSource = dtReader;
GridView122.DataBind();

dtReader.Close();
dtReader = null;

}
protected void Page_UnLoad()
{
baglanti.Close();//Sayfa kapatıldığında MySQL bağlantısını sonlandır
baglanti = null;
}

}

Windows 7 – IIS üzerine PHP, ASP, MySQL ve PhpMyAdmin Kurulumu ve Klasör İzinleri

1 Yorum


Windows 7 (64 bit işletim sistemi) ve IIS 7.5 üzerinde PHP 5 ve MySQL 5 çalıştırmak için öncelikle gerekli olan yazılımları aşağıdaki linklerden indiriniz.

PHP 5 indirmek için (32 bit ve 64 bit kullananlar aynı dosyayı indirebilir) :

Programı indir.

MySQL 5 (64 bit) indirmek için : (mysql-essential-5.xxx-win32.msi)

Programı indir.

MySQL 5 (32 bit) indirmek için : (mysql-essential-5.xxx-winx64.msi)

Programı indir .

MySQL 5 installer

Programı indir 

PHPMyAdmin kurulumu

Programı indir

Kurulum aşamasını PHP ve MySQL kurulumu olarak iki kısımda anlatacağım.

Bir Önceki Konudaki MySQL bağlantısı için yerel olarak PHP ve MySQL ve PhpMyAdmin kurulumunu aşama aşama; internetten derlediklerim ve kendi eklediklerim ile pdf dosyası olarak aşağıdan indirebilirsiniz.

Windows 7_IIS_PHP_5_CALISMA1

Asp.NET ve MySQL İle Açılan Liste Doldurma, Seçilen Açılan Liste ile Diğer Bir Açılan Listeyi Veritabanından Doldurma

1 Yorum


Bilgisayarınıza MySQL indirip kurun. PhpMyAdmin indirip IIS ayarlarını yapın ve istediğiniz bir veritabanını oluşturun sonrasında iki adet DropDownList sayfaya ekleyin, projenizin isminin üzerinde sağ tıklayarak Add Reference bölümünden şekildeki gibi MySQL kütüphanelerini sayfaya referans olarak ekleyin. Eğer MySQL istemezseniz önceki konulardaki Access veya SQL bağlantı metodlarınıda kullanabilirsiniz.

mysqlreference1

mysqlreference2

Kod Bölümüne gerekli kütüphaneleri ekleyelim ;

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Collections.Generic;

using System.Linq;

using MySql.Data;

using MySql.Data.MySqlClient;//proje adına sag tıklayarak Add Reference seçeneğinden .NET sekmesinden MySQL.Data eklenecek

public partial class birbirinebagli2dropdownlistmysqlile : System.Web.UI.Page

{

MySqlConnection objConn;

MySqlCommand objCmd;

//String strSQL;

protected void Page_Load(object sender, EventArgs e)

{

baglantifonk();

if (!Page.IsPostBack)

{

String strSQL;

strSQL = “SELECT DISTINCT(alan_no),alanlar FROM alandal where durum=1”;

MySqlDataReader dtReader;

objCmd = new MySqlCommand(strSQL, objConn);

dtReader = objCmd.ExecuteReader();

alansecacilirmenu.DataSource = dtReader;

alansecacilirmenu.DataTextField = “alan”;

alansecacilirmenu.DataValueField = “alanno”;

alansecacilirmenu.DataBind();

alansecacilirmenu.Items.Add(“Yeni”);

}

}

protected void baglantifonk()

{

String strConnString;

strConnString = “Server=localhost;User Id=root; Password=mysqlparola; Database=yogalt; Pooling=false”;

objConn = new MySqlConnection(strConnString);

objConn.Open();

}

protected void Page_UnLoad()

{

objConn.Close();

objConn = null;

}

protected void alansecacilirmenu_SelectedIndexChanged(object sender, EventArgs e)

{

if (alansecacilirmenu.SelectedValue.ToString() != “Yeni”)

{

String strSQL;

strSQL = “SELECT malzemetur,malzemeCinsi FROM turler where alan_no=” + alansecacilirmenu.SelectedValue.ToString();

MySqlDataReader dtReader;

objCmd = new MySqlCommand(strSQL, objConn);

dtReader = objCmd.ExecuteReader();

malzemeturacilirmenu.DataSource = dtReader;

malzemeturacilirmenu.DataTextField = “malzemeCinsi”;

malzemeturacilirmenu.DataValueField = “malzemetur”;

malzemeturacilirmenu.DataBind();

malzemeturacilirmenu.Items.Add(“Yeni”);

}

else

{

//yeni alan için gerekli panel yada form gösterilebilir.

}

}

}

Older Entries

Bana Silverlight Anlat

meslek lisesi ders notları

Eren ÇOLAK

Yazılım Mühendisi Olmak Yolunda İlerliyor...