GridView ve DetailsView kullanarak kayıt düzenlemek



Benzer belgeler
İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü seçiyoruz

SINIF İÇİ UYGULAMA KODLARI

MASTER PAGE SAYFASI KULLANIMI

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

VERİTABANINA BİLGİ KAYDEME, DÜZENLEME, LİSTELEME İŞLEMLERİ

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz.

BİLGİLERİ GRIDVIEW DE GÖRÜNTÜLEME VE DÜZENLEME

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

Sağ Tıkla. 5 Ocak 2012 / Perşembe. Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK

Kitap Ekle linki tıklandığında, admin.aspx sayfamızın görüntüsü aşağıdaki şekilde olacaktır.

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

ASP.NET ile Bir Web Sitesi Oluşturma

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

Response : Sunucunun istemciye veri yollamasını

Karabük Üniversitesi, Mühendislik Fakültesi... AJAX KULLANIMI

1 Aralık 2011 / Perşembe

İNTERNET TABANLI PROGRAMLAMA- 13.ders A-GRIDVIEW, DETAILSVIEW, ACCESSDATASOURCE NESNELERİ İLE BİLGİ GÖRÜNTÜLEME

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

12 Ocak 2012 / Perşembe

SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

İNTERNET TABANLI PROGRAMLAMA- 7.ders

Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve a bağlanıp 1 Mart tarihli sayfayı açıyoruz

VeriTabanı Uygulamaları

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

ACCESS DERS Tablolarda Düzenleme

CetaSoft Ofis E-Ticaret Modülü ile Sunulan Web Servisleri

«BM364» Veritabanı Uygulamaları

Veritabanı İşlemleri

1) Visual Studio da WebSiteemlakci adında yeni bir site oluşturuyoruz.

PROGRAMLAMA DERSİ 1. İNTERNET

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2.

Columns : * Next Text Query veri tabanındaki urunler tablosu görülüyor. Finish, çalıştırınca direk veri tabanındaki bilgileri alıyor.

ASP.NET Web Kontrolleri

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Karabük Üniversitesi, Mühendislik Fakültesi... AJAX KULLANIMI

JSF Melih Sakarya. Java Server Faces Facelet

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

VERİTABANI NEDİR? ADO.NET

24 Kasım 2011 / Perşembe

ASP.NET ORTAMINDA C# VERİTABANI UYGULAMALARI

REQUEST QUERY STRING. Sayfalar: default.aspx ve sorgu_sayfasi.aspx. default.aspx sayfası: sorgu_sayfasi.aspx sayfası:

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

SQL SERVER BAĞLANTISI VE TABLOLAR

Android Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları

Yeni Web Sitesi Oluşturma: Visual Studio 2012 açılır. File>New>Web Site>C#-Asp Empty Site

Görsel Programlama (Visual Programming)

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

1-) Veritabanımıza bağlanmak için bir SqlConnection nesnesi, 2-) Veritabanındaki bilgileri kullanmak (seçme, kaydetme, silme, güncelleme) için

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 9 Tema Kullanımı

C# ve SQL Server ile Resim Yükleme ve Login İşlemi

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

Resmin dosya adı tutulacaktır. Ve program yolu ile path(yolu ile) sayafaya eklenecektir.

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

HSancak Nesne Tabanlı Programlama I Ders Notları

Proje 1. Arayüz Tasarımı

Görsel Programlama (Visual Programming) 2.Hafta

DetailsView. DetailsView kontrolünün GridView kontrolüyle paralel şekilde kullanımı ile ilgili örnek

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

C#.Net & Linq (Language Integrated Query)

Görsel Programlama (Visual Programming) 2.Hafta

Microsoft FrontPage Web Sitesi Hazırlama. Ögr.Gör.N.Nilgün Çokça

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

WEB TASARIM. CSS, IFRAME, TEMPLATE, SLICE, INCLUDE(php komutu) Tarık ÖZEL

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

ASP.Net validation controls validate the user input data to ensure that useless, unauthenticated or

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

İNTERNET TABANLI PROGRAMLAMA

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar

BAROLAR WEB SİTESİ EĞİTİMİ

IOF Eventor için Sporcu Kılavuzu


Kullanım Kılavuzu

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

HSancak Nesne Tabanlı Programlama I Ders Notları

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Veritabanı ve Yönetim Sistemleri

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir.

VERİ TABANI YÖNETİM SİSTEMLERİ-II

WEB SAYFASI KULLANIM KILAVUZU

IPACK LADDER. Arayüz Dökümantasyonu

C Sharp /Veri tabanı işlemleri

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Transkript:

GridView ve DetailsView kullanarak kayıt düzenlemek Bir önceki yazımda teorik olarak bu iki kontrole ait eventlerden söz etmiştim. Şimdi uygulama yapma zamanı. Bunun için daha önceki yazılarımıza devam ediyoruz. Dolayısı ile aşağıdaki linkten ilgili uygulamayı indirip, bu yazı ile devam edebilirsiniz. Tabi birde Veritabanı yönetim sisteminizde Northwind veri tabanı olduğunu varsayıyoruz. http://www.ismailgursoy.com.tr/detailsview-kontrolune-stil-vermek/ Bu örneğimde DetailsView kontrolünde listelenmiş olan çalışan verilerini güncellemeyi göstereceğim. GridView ve DetailsView kontrollerinde editleme yapabilmemiz için her iki kontrolünde sahip olmuş olduğu CommandField özelliğini kullanırız. Şimdi uygulamıza başlayalım : Deafult.aspx sayfasını visual studio da design modda açalım. Altta yer alan DetailsView kontrolümüzü seçip saü üstünde yer alan oka tıklayarak Add New Field diyelim.

Daha sonra açılan pencerede, Choose a field type alanında dropdown menüsünden CommandField seçiniz. Altta yer alan checkbox kutularından Edit/Update Checkboxını seçiniz. Bu sırada Show cancel buton otomatik olarak seçili hale gelecektir, bırakın seçili kalsın. Bu işlemler tabii ki direkt olarak kod olarakda eklenerek yapılabilir. Eklenecek kod olan blok ya da bu işlemlerin sonucunda eklenen kodu paylaşayım : DetailsView kontrolünün Fields tagleri arasına aşağıdaki kod eklenmiştir. 1<asp:CommandField ShowEditButton="True" /> Artık DetailsView kontrolümün en altında veri listesinin altında bir adet Edit butonu yer alır. Projeyi çalıştırdığımızda bir çalışan seçiniz dediğimizde bunu görebiliriz.

Bu noktada eğer edit butonuna basarak hata alırız. Alacağımız hata; The DetailsView DetayBilgi fired event ModeChanging which wasn t handled. Bu hatayı almamız doğal çünkü bizim kontrolümüz edit butona basıldığında ne yapması gerektiğini henüz bilmiyor, yani kod yazmadık henüz. Şimdi Visual Studio da web formumuzun design görünümüne tekrar geçelim. Altta yer alan DetailsView kontrolümüzü seçelim. Sağ tarafta yer alan properties menüsünde yer alan yıldırım işaratine tıklayalım. Burada seçilen kontrole ait event listesini görebiliriz.

İlgili eventin yanında cif tıkladıktan sonra code behind tarafında visual studio bizim için ModeChanging eventini boş bir şekilde oluşturuyor. Bize ilgili kodları yazmak kalıyor. ModeChanging eventine aşağıdaki kodları ekliyoruz : protected void DetayBilgi_ModeChanging(object sender, 1 DetailsViewModeEventArgs e) 2 3 DetayBilgi.ChangeMode(e.NewMode); 4 DetayBilgiAl(); 5 Şimdi uygulamamızı çalıştırıp, bir çalışanı seçip seçiniz butonuna tıklayalım. Daha sonra DetailsView kontrolünde yer alan edit butonuna tıklayalım ve sonucu görelim.

Görüldüğü üzere artık textbox kontrollerim, update ve cancel butonum hali hazırda beni bekliyor Bunlara işlev kazandırmaya sonra geçicez tabi. Şimdi açıklama yapalım. Mode_Changing eventini anlayabilmek için DetailsView kontrolünün görüntüleme modlarını yani display mode larını bilmemiz gerekiyor. DetailsViewMode.ReadOnly : Bu mod varsayılan moddur. Veri göstermek için kullanılır. Uygulamamız çalıştırıldığında ve çalışan bilgileri detayı gösterildiğinde gördüğümüz durum DetailsView kontrolümüzün ReadOnly yani sadece okunabilir durumudur.

DetailsViewMode.Edit : Bu mod var olan bir veri kaydının editlenmesi için kullanılır. Bunu zaten gördük. DetailsViewMode.Insert : Bu mod yeni bir kayıt eklemek için kullanılır. Edit moduna çok benzer ama bu modda tüm kontroller boştur, çünkü yeni veri kaydedilecektir. ModeChanging eventine baktığımızda dikkat etmemiz gereken diğer bir husus; DetailsViewModeEventArgs sınıfının bir e parametresi almasıdır. e parametresinin NewMode özelliği ile kullanıcı tarafından talepte bulunulan display mode tanımlayabiliyoruz. Şu anda ayrıntıları görebiliyorum, edit ile düzenleme moduna geçebiliyorum, cancel ile düzenleme modundan çıkabiliyorum. Ancak Update butonum çalışmıyor. Çünkü henüz ilgili item için kodlarımı ve ne yapacağımı tanımlamadım. Bu da daha sonraki yazılarda yer alacak. Şimdi tüm kodlarımı ve ilgili uygulamayı aşağıda paylaşayım. Default.aspx : 1 2 3 4 5 6 7 8 9 10 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <link href="stylesheet.css" rel="stylesheet" type="text/css" /> <head runat="server"> <title></title> 11 12</head> 13 14 15 16 17 <body> <form id="form1" runat="server"> <div> <h1>veri Listesi</h1> <asp:gridview ID="GridView1" runat="server" 18 19 20 21d"> 22 23 24 25 26 27 AutoGenerateColumns="False" CssClass="GridMain" CellPadding="4" GridLines="None" onselectedindexchanged="gridview1_selectedindexchange Name" /> 28 29 <asp:boundfield DataField="FirstName" HeaderText = "First 30Name" /> 31 <asp:boundfield DataField="City" HeaderText = "City" /> 32 <asp:boundfield DataField="HomePhone" HeaderText="Home 33Phone" /> 34 35/> 36 37 38 <RowStyle CssClass="GridRow" /> <SelectedRowStyle CssClass="GridSelectedRow" /> <HeaderStyle CssClass="GridHeader" /> <Columns> <asp:boundfield DataField="LastName" HeaderText = "Last <asp:buttonfield CommandName="Select" Text="Seçiniz" </Columns> </asp:gridview> <br />

<asp:detailsview id="detaybilgi" runat="server" AutoGenerateRows="False" CellPadding="4" CssClass="GridMain" GridLines="None" onmodechanging="detaybilgi_modechanging"> <RowStyle CssClass="GridRow" /> <HeaderStyle CssClass="GridHeader" /> <Fields> <asp:boundfield DataField="Title" HeaderText="Title" /> <asp:boundfield DataField="TitleOfCourtesy" 39HeaderText="Title Of Courtesy" /> 40 <asp:boundfield DataField="BirthDate" HeaderText="Birth 41 Date" /> 42 <asp:boundfield DataField="HireDate" HeaderText="Hire 43 44 Date" /> 45 <asp:boundfield DataField="Address" HeaderText="Address" 46/> 47 <asp:boundfield DataField="Region" HeaderText="Region" /> 48 <asp:boundfield DataField="PostalCode" HeaderText="Postal 49Code" /> 50 <asp:boundfield DataField="Country" HeaderText="Country" 51/> 52 <asp:commandfield ShowEditButton="True" /> </Fields> <HeaderTemplate><%#Eval("FirstName")%> < %#Eval("LastName")%></HeaderTemplate> </asp:detailsview> </div> </form> </body> </strong></html> Default.aspx.cs : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Configuration; public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) //Sayfam daha önce yüklenmedi ise veribagla metodumu çalıştırıyorum if (!IsPostBack) veribagla();

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 //VeriBagla metodum private void veribagla() //SQL bağlantımı, komutumu ve datareader nesnemi tanımlıyorum. SqlConnection conn; SqlCommand comm; SqlDataReader reader; //Bağlantı satırımı ConfigurationManager sınıfı ile web config dosyasından atamış olduğum isimle çekiyorum. string connectionstring = ConfigurationManager.ConnectionStrings["Baglantim"].ConnectionSt ring; conn = new SqlConnection(connectionString); //SQL queryimi yazıyorum. Employees tablosundan çekmek istediğim verileri SELECT ile çekiyorum. comm = new SqlCommand("SELECT EmployeeID,LastName,FirstName,City,HomePhone FROM Employees", conn); try //Bağlantımı açıyorum, datareader nesnemi çalıştırıyorum ve GridView kontrolüme DataBind işlemi yapıyorum. conn.open(); reader = comm.executereader(); GridView1.DataSource = reader; GridView1.DataKeyNames = new string[] "EmployeeID" ; GridView1.DataBind(); //Reader nesnemi kapatıyorum reader.close(); //hata olursa vereceğim mesaj catch Response.Write("Bir hata oluştu"); //Bağlantımı kapatıyorum finally conn.close(); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) //DetayBilgiAl adında bir metot tanımlayacağım bu metot GridView kontrolümün SelectedIndexChanged eventinde çalışacak. DetayBilgiAl(); //DetayBilgiAl metodum